Questo documento è una panoramica dell'automazione del deployment.
Puoi configurare Cloud Deploy per l'esecuzione automatica di attività relative alla release e all'implementazione per una determinata pipeline di distribuzione. Queste attività includono la promozione della release e l'avanzamento di fase.
Scopri di più sulle risorse utilizzate per l'automazione del rilascio in Cloud Deploy.
Scopri di più su come configurare le regole che definiscono il funzionamento di queste automazioni.
Azioni che puoi automatizzare
In Cloud Deploy, puoi automatizzare le seguenti attività di release e implementazione:
Promuovi una release
Puoi configurare Cloud Deploy per promuovere la release automaticamente, dopo un'implementazione corretta in una destinazione. Ad esempio, se hai tre destinazioni (
dev
,staging
eprod
), puoi configurare un'automazione in modo che la release venga promossa aprod
, senza ulteriore interazione umana, dopo un deployment riuscito instaging
.Proseguire un'implementazione
Puoi configurare Cloud Deploy per far avanzare un'implementazione da una fase a quella successiva, dopo un'implementazione riuscita per il target precedente. L'avanzamento della fase è disponibile solo nelle destinazioni che utilizzano una strategia di deployment canary.
Come funziona l'automazione?
Ogni automazione è collegata alla pipeline di distribuzione per cui viene utilizzata. Non puoi condividere un'automazione tra più pipeline di distribuzione.
Di seguito è riportata la procedura generale per la configurazione e l'esecuzione di un'automazione:
Tu configuri un modello di automazione
Questa automazione è associata a una pipeline di distribuzione.
Registri l'automazione utilizzando
gcloud deploy apply
.Viene creata la risorsa di automazione.
Puoi richiamare la pipeline di distribuzione associata a questa automazione creando una release.
L'implementazione è riuscita in almeno un target.
Nel target per cui è configurata questa automazione...
Se l'automazione è
promoteReleaseRule
:L'esecuzione attende che l'implementazione vada a buon fine nel target di origine. Il target di origine è il
selector.targets
configurato per l'automazione, non inAutomationRule
.Se è configurata una data/ora
wait
, l'esecuzione attende anche quel momento.La release viene promossa automaticamente al target successivo nell'avanzamento della pipeline o a un target specifico, se indicato.
Se l'automazione è
advanceRolloutRule
e il target utilizza una strategia di deployment canary:L'esecuzione attende la fase di origine identificata, se presente.
La proprietà
sourcePhase
è facoltativa e, se non vengono specificate fasi di origine, ogni fase dell'implementazione viene avanzata automaticamente. L'avanzamento automatico della fase avviene quando la fase di origine èIN_PROGRESS
, soggetto await
tempo.Se è configurata una data/ora
wait
, l'esecuzione attende anche quel momento.Quando automatizza un deployment canary, utilizzi questo tempo di attesa per specificare la durata di ogni fase canary.
L'implementazione passa automaticamente dalla fase di origine a quella successiva dell'implementazione.
Se c'è una fase di origine aggiuntiva, viene trattata allo stesso modo, incluso lo stesso tempo di attesa, se applicabile.
Risorse di Automation
Esistono due risorse Cloud Deploy specifiche per l'automazione:
Automazione
Un
Automation
è una risorsa secondaria di una pipeline di distribuzione e include le seguenti informazioni:- Un puntatore al target o ai target per cui viene utilizzata l'automazione
- La regola o le regole che regolano il funzionamento e il funzionamento dell'automazione
La configurazione della risorsa Automation è descritta nel documento Informazioni sulla risorsa di automazione.
Quando esegui
gcloud deploy apply
su un file che include una configurazione di automazione (kind: Automation
), Cloud Deploy crea una risorsa di automazione, che associa una pipeline di distribuzione e una o più destinazioni a una o più regole di automazione.Esecuzione automazione
AutomationRun
è un'istanza di un'automazione. È un puntatore alla risorsa di Automation corrispondente, oltre a informazioni sull'implementazione che l'ha generata e altri metadati.L'esecuzione dell'automazione viene creata quando viene attivata un'automazione.
Scopri di più sulle risorse per l'automazione.
Regole di Automation
Una regola di automazione definisce un'azione che può essere eseguita automaticamente sulla pipeline di distribuzione, nonché dettagli su come deve essere eseguita l'automazione.
Scopri di più sulle regole di automazione.
I ruoli e le autorizzazioni di Identity and Access Management sono obbligatori
Oltre alle autorizzazioni necessarie per eseguire qualsiasi pipeline di distribuzione di Cloud Deploy
ed eseguire le attività da automatizzare (come l'avanzamento di
un'implementazione), esistono diverse autorizzazioni necessarie per eseguire
determinate operazioni sulle risorse Automation
e AutomationRun
:
clouddeploy.automations.create
clouddeploy.automations.delete
clouddeploy.automations.get
clouddeploy.automations.list
clouddeploy.automations.update
clouddeploy.automationRuns.cancel
clouddeploy.automationRuns.get
clouddeploy.automationRuns.list
Oltre a queste autorizzazioni, ogni regola di automazione potrebbe richiedere ulteriori autorizzazioni per eseguire l'operazione automatizzata. Consulta Configurare le regole di automazione per le autorizzazioni specifiche necessarie per ogni regola di automazione.
Consulta Ruoli e autorizzazioni IAM. Per ulteriori informazioni, incluso quali ruoli di Cloud Deploy includono queste autorizzazioni.
Crea un'automazione
Puoi creare un'automazione, ad esempio utilizzare una qualsiasi delle
regole di automazione disponibili,
configurare un'automazione e quindi creare la risorsa di automazione utilizzando
gcloud deploy apply
Consulta le seguenti sezioni (Configurazione dell'automazione) e Configurare le regole di automazione.
Configurazione dell'automazione
Consulta lo schema del file di configurazione per i dettagli su come configurare la risorsa Automation
.
Configurazione delle regole di Automation
Oltre a questa configurazione di automazione, devi specificare le regole di automazione. La configurazione è diversa per ogni regola disponibile.
Consulta Utilizzare le regole di automazione per le descrizioni di tutte le regole disponibili.
Sospendere un'automazione
Puoi sospendere una risorsa esistente senza eliminarla. Questo può essere utile per testare un'automazione senza influire sulla pipeline di distribuzione. Quando sospendi un'automazione, l'automazione non viene eseguita, ma vengono generati i log della piattaforma.
Nella configurazione di
Automation
, aggiorna la proprietàsuspended
atrue
.Esegui
gcloud deploy apply
sul file di configurazione.I log della piattaforma vengono comunque generati quando viene creata un'istanza dell'automazione, anche se questa viene sospesa. Puoi utilizzarlo per testare ed eseguire il debug dell'automazione senza influire sulla pipeline di distribuzione.
Passaggi successivi
Prova la guida rapida: automatizzare la creazione delle release e l'avanzamento dell'implementazione.
Scopri di più sulle regole di automazione di Cloud Deploy.
Scopri di più sulle risorse di automazione di Cloud Deploy.
Consulta la documentazione relativa allo schema dei file di configurazione per i dettagli sui file di configurazione dell'automazione.