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 circostanze appropriate.
Puoi utilizzare 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 |
---|---|
promoteRelease
|
Promuovi automaticamente una release nel target indicato se l'operazione ha esito positivo
nel target precedente. |
advanceRollout
|
Fa avanzare automaticamente un'implementazione rispetto alle
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 promoteRelease
La regola promoteRelease
promuove la release dopo un'implementazione riuscita in
una destinazione. Ad esempio, se hai tre destinazioni, puoi impostare questa regola in modo che, una volta eseguito il deployment della release nella prima destinazione, venga automaticamente promossa alla seconda.
Quando configuri un'automazione promoteRelease
, puoi specificare un target da promuovere a (destinationTargetId
) o @next
. Al termine dell'implementazione nel target specificato nella definizione di Automation
, la release viene promossa al target specificato in destinationTargetId
, in base a un intervallo di tempo wait
.
Puoi anche promuovere una release verso una fase specifica nel target previsto utilizzando
la proprietà destinationPhase
.
rules:
- promoteRelease:
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]
È la quantità di tempo, in minuti, da attendere dopo che la release è pronta per la promozione prima che venga promossa. Ad esempio,
1m
. Il campom
è obbligatorio.Il valore predefinito è
0
oppure nessun tempo di attesa. Il valore massimo è20160m
(o 14 giorni).[TO_TARGET]
È la
targetId
del target in cui vuoi eseguire la promozione.Può anche essere
@next
, che promuove automaticamente la release al target successivo dopo il target specificato nella proprietàselector.target
in questa configurazione di automazione. Questa è l'impostazione predefinita se ometti il valore dadestinationTargetId
.[TO_PHASE]
È il nome della fase in cui vuoi eseguire la promozione, ad esempio
canary-25
ostable
. Questa proprietà è facoltativa; se la ometti, la release viene sponsorizzata alla prima fase del target.
Configurazione di una regola di automazione advanceRollout
La regola advanceRollout
fa avanzare l'implementazione, automaticamente, dopo il completamento
di una fase, nella 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 advanceRollout
, identifichi la fase
in avanzamento rispetto (sourcePhase
).
rules:
- advanceRollout:
name: "[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 far avanzare l'implementazione una volta che l'implementazione è pronta. Ad esempio,
1m
. Il campom
è obbligatorio.Il valore predefinito è
0
oppure nessun tempo di attesa. Il valore massimo è20160m
(o 14 giorni).["[START_PHASE]", "[START_PHASE]"...]
Indica la fase o le fasi da cui viene avanzata automaticamente l'implementazione. In altre parole, quando una delle fasi elencate viene completata correttamente, l'implementazione viene avanzata automaticamente da quella fase a quella successiva.
I nomi delle fasi fanno distinzione tra maiuscole e minuscole. Inoltre, i nomi delle fasi sono facoltativi; se ometti
sourcePhases
, tutte le fasi dell'implementazione vengono avanzate automaticamente.
Passaggi successivi
Prova la guida rapida: automazione della creazione e dell'avanzamento dell'implementazione delle release.
Scopri di più sull'automazione del deployment in Cloud Deploy.