Utilizzare le regole di automazione

Questo documento descrive le regole di automazione, ovvero le azioni che è possibile intraprendere automaticamente sulla pipeline di distribuzione. Ad esempio, puoi configurare la pipeline di distribuzione in modo che la promozione in un target specifico avvenga automaticamente nelle giuste circostanze.

Puoi utilizzare solo le regole di automazione integrate in Cloud Deploy. Le regole di automazione disponibili sono elencate in questo documento.

Regole di automazione disponibili

In Cloud Deploy sono disponibili le seguenti regole di automazione:

Regola Descrizione
promoteReleaseRule Promuove automaticamente una release nel target indicato dopo il completamento

nel target precedente della progressione.

advanceRolloutRule Avanza automaticamente un'implementazione dall'indicazione

phase alla fase successiva.

Configurare le regole di automazione

La configurazione di ogni regola di automazione dipende dalla regola specifica. Questo descrive la configurazione che tutte le regole hanno in comune, nonché il modo in cui per configurare ciascuna delle regole disponibili.

Le sezioni seguenti descrivono la configurazione specifica per le singole regole di automazione. Per la configurazione dell'automazione stessa, consulta Automatizzare il deployment.

Configura una regola di automazione promoteReleaseRule

La regola promoteReleaseRule promuove la release dopo un'implementazione riuscita in un obiettivo. Ad esempio, se hai tre target, puoi configurare questa regola in modo che, quando la release viene implementata correttamente nel primo target, venga promossa automaticamente al secondo target.

Quando configuri un'automazione promoteReleaseRule, puoi specificare un target da promuovere a (destinationTargetId) o @next. Quando viene eseguito termina correttamente nel target specificato nella definizione di Automation, viene poi promossa al target specificato in destinationTargetId, in base a un intervallo di tempo di wait.

Puoi anche promuovere una release a una fase specifica nel target previsto utilizzando la proprietà destinationPhase.

rules:
- promoteReleaseRule:
    name: "[RULE_NAME]"
    wait: [WAIT_TIME]
    destinationTargetId: "[TO_TARGET]"
    destinationPhase: "[TO_PHASE]"

Dove:

  • [RULE_NAME]

    È un nome che vuoi assegnare a questa regola. Questo nome deve essere univoco all'interno di automazione delle risorse.

  • [WAIT_TIME]

    È il periodo di tempo, in minuti, che deve trascorrere prima che la release sia pronta per la promozione. Ad esempio, 1m. L'attributo m è obbligatorio.

    Il valore predefinito è 0, ovvero nessun tempo di attesa. Il valore massimo è 20160m (o 14 giorni).

  • [TO_TARGET]

    È il targetId del target a cui promuovere.

    Può anche essere @next, che promuove automaticamente la release al successivo target dopo il target specificato nella proprietà selector.targets in questa configurazione dell'automazione. Questo è il valore predefinito se ometti il valore da destinationTargetId.

  • [TO_PHASE]

    È il nome della fase in cui vuoi eseguire la promozione, ad esempio canary-25 o stable. Questa proprietà è facoltativa. Se la ometti, la release viene promossa alla prima fase nel target.

Configurare una regola di automazione advanceRolloutRule

L'advanceRolloutRule prosegue l'implementazione automaticamente, una volta completata l'implementazione completamento di una fase, per passare alla fase successiva. Questa regola di automazione è utile per i deployment canari. Ad esempio, se hai configurato una strategia di implementazione canary su un target, con fasi 25%, 50% e stable, puoi configurare una regola di automazione che avanzi automaticamente alla fase stable al termine della fase 50%.

Quando configuri un'automazione advanceRolloutRule, identifichi la fase da avanzano da (sourcePhase).

rules:
- advanceRolloutRule:
    id: "[RULE]"
    sourcePhases: ["[START_PHASE]", "[START_PHASE]"...]
    wait: [WAIT_TIME]

Dove:

  • [RULE]

    È un nome che vuoi assegnare a questa regola. Questo nome deve essere univoco all'interno di distribuzione dei container.

  • [WAIT_TIME]

    È il periodo di tempo, in minuti, da attendere per procedere con l'implementazione dopo che è stata completata. Ad esempio, 1m. m è obbligatorio.

    Il valore predefinito è 0, ovvero nessun tempo di attesa. Il numero massimo è 20160m (o 14) giorni).

  • ["[START_PHASE]", "[START_PHASE]"...]

    Indica la fase o le fasi da cui l'implementazione viene avanzata automaticamente. In altre parole, quando una delle fasi elencate viene completata correttamente, l'implementazione viene avanzata automaticamente dalla fase in questione alla fase successiva.

    I nomi delle fasi sono sensibili alle maiuscole. Inoltre, questi nomi di fase sono facoltativi. Se ometti sourcePhases, tutte le fasi dell'implementazione vengono avanzate automaticamente.

Passaggi successivi