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 campom
è 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 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 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 campom
è 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
Prova la guida rapida: automatizza la creazione delle release e l'avanzamento del lancio.
Scopri di più sull'automazione del deployment in Cloud Deploy.