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'attributom
è 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 dadestinationTargetId
.[TO_PHASE]
Indica il nome della fase in cui vuoi eseguire la promozione, ad esempio
canary-25
ostable
. 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'attributom
è 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
Prova la guida rapida: automatizzare la creazione delle release e l'avanzamento dell'implementazione.
Scopri di più sull'automazione del deployment in Cloud Deploy.