Utilizzare le regole di automazione

Questo documento descrive le regole di automazione, ovvero azioni che è possibile eseguire automaticamente sulla pipeline di distribuzione. Ad esempio, puoi configurare la pipeline di distribuzione in modo che la promozione in una destinazione specifica avvenga automaticamente, nelle giuste circostanze.

Puoi usare solo 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 l'esito positivo

nel target precedente.

advanceRolloutRule Avanza automaticamente un'implementazione dal modello

phase alla fase successiva.

Configura le regole di automazione

La configurazione di ogni regola di automazione dipende dalla regola specifica. Questa sezione descrive la configurazione che tutte le regole hanno in comune, nonché come configurare ciascuna delle regole disponibili.

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

Configura una regola di automazione promoteReleaseRule

La regola promoteReleaseRule promuove la release dopo un'implementazione riuscita in una destinazione. Ad esempio, se hai tre destinazioni, puoi configurare questa regola in modo che una volta eseguito correttamente il deployment della release nel primo target, venga promossa automaticamente alla seconda destinazione.

Quando configuri un'automazione promoteReleaseRule, puoi specificare un target da promuovere a (destinationTargetId) o a @next. Al termine dell'implementazione nel target specificato nella definizione di Automation, la release viene promossa nel target specificato in destinationTargetId, soggetto a un intervallo di tempo di wait.

Puoi anche promuovere una release in 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]

    Indica il nome che vuoi assegnare a questa regola. Questo nome deve essere univoco all'interno della risorsa di automazione.

  • [WAIT_TIME]

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

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

  • [TO_TARGET]

    È il targetId del target in cui eseguire la promozione.

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

  • [TO_PHASE]

    Indica 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 nella prima fase della destinazione.

Configura una regola di automazione advanceRolloutRule

L'advanceRolloutRule fa avanzare l'implementazione automaticamente, dopo il completamento di una fase, alla fase successiva. Questa regola di automazione è utile per i deployment canary. Ad esempio, se hai una strategia di deployment canary configurata su un target con fasi 25%, 50% e stable, potresti configurare una regola di automazione che avanza automaticamente nella fase a stable al termine della fase 50%.

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

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

Dove:

  • [RULE]

    Indica il nome che vuoi assegnare a questa regola. Questo nome deve essere univoco all'interno della pipeline di distribuzione.

  • [WAIT_TIME]

    La quantità di tempo, in minuti, di attesa per far avanzare l'implementazione quando l'implementazione è pronta. Ad esempio, 1m. L'attributo m è obbligatorio.

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

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

    Indica la fase o le fasi da cui l'implementazione viene avanzata automaticamente. Vale a dire che, quando una delle fasi elencate viene completata correttamente, l'implementazione passa automaticamente da quella fase a quella successiva.

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

Passaggi successivi