Utilizzo delle regole di automazione

Questo documento descrive le regole di automazione, ovvero le azioni che puoi eseguire automaticamente sulla tua pipeline di distribuzione. Ad esempio, puoi configurare la pipeline di pubblicazione 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 se l'operazione è andata a buon fine

implementazione nel target precedente nell'avanzamento.

advanceRolloutRule Consente di far avanzare automaticamente un'implementazione rispetto alla versione

fase alla fase successiva.

Configurare 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 di quelle disponibili.

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

Configurazione di 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 il deployment della release nella prima destinazione, venga automaticamente promossa alla seconda.

Quando configuri un'automazione promoteReleaseRule, puoi specificare un target da promuovere a (destinationTargetId) o @next. Al termine dell'implementazione nel target specificato nella definizione Automation, la release viene promossa al target specificato in destinationTargetId, soggetto a un intervallo di tempo 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 da assegnare a questa regola? Questo nome deve essere univoco all'interno della risorsa di automazione.

  • [WAIT_TIME]

    È il tempo, in minuti, di attesa dopo che la release è pronta per la promozione prima che venga promossa. Ad esempio, 1m. Il campo m è obbligatorio.

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

  • [TO_TARGET]

    È il valore targetId del target in cui eseguire la promozione.

    Può anche essere @next, in modo da indirizzare automaticamente la release 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]

    È 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 del target.

Configurazione di una regola di automazione advanceRolloutRule

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

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

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

Dove:

  • [RULE]

    È un nome da assegnare a questa regola? Questo nome deve essere univoco all'interno della pipeline di distribuzione.

  • [WAIT_TIME]

    È il tempo, in minuti, di attesa per avanzare l'implementazione quando è pronta. Ad esempio, 1m. Il campo m è obbligatorio.

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

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

    Sono la fase o le fasi da cui l'implementazione viene avanzata automaticamente. In altre parole, una volta completata correttamente una delle fasi elencate, l'implementazione passa automaticamente da quella fase a quella successiva.

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

Passaggi successivi