Questo documento descrive le regole di automazione, ovvero azioni che è possibile intraprendere automaticamente sulla pipeline di distribuzione. Ad esempio, puoi configurare pipeline di distribuzione, in modo che avvenga la promozione in un target specifico 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. Questo descrive la configurazione che tutte le regole hanno in comune, nonché il modo in cui per configurare ciascuna delle regole disponibili.
Le seguenti sezioni descrivono la configurazione specifica per una singola automazione le regole del caso. Vedi Automatizzare il deployment per configurare l'automazione stessa.
Configura una regola di automazione promoteReleaseRule
La regola promoteReleaseRule
promuove la release dopo un'implementazione riuscita in
un obiettivo. Ad esempio, se hai tre target, puoi impostare questa regola in modo che
che, una volta eseguito il deployment della release nel primo target,
passa automaticamente al secondo target.
Quando configuri un'automazione promoteReleaseRule
, puoi specificare un
target da promuovere a (destinationTargetId
) o @next
. Quando viene eseguito
termina correttamente nel target specificato nella definizione di Automation
,
viene poi promossa al target specificato in destinationTargetId
,
in base a un intervallo di tempo di wait
.
Puoi anche promuovere una release in una fase specifica del 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 di automazione delle risorse.
[WAIT_TIME]
È la quantità di tempo, in minuti, di attesa prima che la release sia pronta per prima che venga promossa. Ad esempio,
1m
. L'attributom
è obbligatorio.Il valore predefinito è
0
o nessun tempo di attesa. Il numero massimo è20160m
(o 14) giorni).[TO_TARGET]
targetId
del target da promuovere.Può anche essere
@next
, che promuove automaticamente la release alla successiva dopo il target specificato nella proprietàselector.targets
in questo configurazione dell'automazione. Questa è l'impostazione predefinita 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 lo ometti, l'uscita viene passa alla prima fase del target.
Configura una regola di automazione advanceRolloutRule
L'advanceRolloutRule
avvia l'implementazione automaticamente, una volta completata l'implementazione
completamento di una fase, per passare alla fase successiva. Questa regola di automazione è utile
i deployment canary. Ad esempio, se hai una strategia di deployment canary
configurati in un target, con fasi 25%
, 50%
e stable
, potresti
configura 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
avanzano 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 di distribuzione dei container.
[WAIT_TIME]
La quantità di tempo, in minuti, che occorre attendere per far avanzare l'implementazione dopo il sia pronto per l'implementazione. Ad esempio,
1m
. L'attributom
è obbligatorio.Il valore predefinito è
0
o nessun tempo di attesa. Il numero 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 viene avanzano 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 con Cloud Deploy.