Automazione del deployment

Questo documento è una panoramica dell'automazione del deployment.

Puoi configurare Cloud Deploy in modo che esegua automaticamente e le attività correlate all'implementazione per una determinata pipeline di distribuzione. Queste attività includono uscita promozione e avanzamento di fase.

Scopri di più sulle risorse utilizzate per e rilasciare l'automazione in Cloud Deploy.

Scopri di più su come configurare le regole definiscono il funzionamento di queste automazioni.

Azioni che puoi automatizzare

In Cloud Deploy, puoi automatizzare la release seguente di lancio, procedi nel seguente modo:

  • Promuovi una release

    Puoi configurare Cloud Deploy per promuovere la tua release automaticamente, dopo un'implementazione riuscita in una destinazione. Ad esempio, se disponi tre target, dev, staging e prod, puoi configurare un'automazione in modo che la release venga promossa a prod, senza ulteriori persone interazione, dopo un deployment in staging riuscito.

  • Proseguire un'implementazione

    Puoi configurare Cloud Deploy per avanzare un'implementazione da uno phase a quella successiva, dopo un'implementazione corretta per il target precedente. Avanzamento della fase è disponibile solo nelle destinazioni che utilizzano strategia di deployment canary.

Come funziona l'automazione?

Ogni automazione è collegata alla pipeline di distribuzione per cui viene utilizzata. Non puoi condivide un'automazione tra più pipeline di distribuzione.

Di seguito è riportato il processo generale per la configurazione e l'esecuzione di un automazione:

  1. Tu configurare un'automazione

    Questa automazione è associata a una pipeline di distribuzione.

  2. Registri l'automazione utilizzando gcloud deploy apply.

    Questo crea Risorsa di automazione.

  3. Richiami la pipeline di distribuzione associata a questa automazione creazione di una release.

  4. L'implementazione è riuscita in almeno un target.

  5. Nel target per cui è configurata questa automazione...

    Se l'automazione è promoteReleaseRule:

    1. 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 in AutomationRule.

    2. Se è configurata una data/ora wait, l'esecuzione attende anche quel momento.

    3. La release viene promossa automaticamente al target successivo nella pipeline progressi o un target specifico, se indicato.

    Se l'automazione è advanceRolloutRule e il target utilizza una versione canary strategia di deployment:

    1. L'esecuzione attende l'identificazione fase di origine, se disponibile.

      La proprietà sourcePhase è facoltativa e se non sono presenti fasi sorgente specificato, ogni fase dell'implementazione viene avanzata automaticamente. La l'avanzamento automatico della fase avviene quando la fase di origine IN_PROGRESS, soggetto a wait volta.

    2. Se è configurata una data/ora wait, l'esecuzione attende anche quel momento.

      Quando automatizza un deployment canary, utilizzerai questo tempo di attesa per specificare la durata di ogni fase canary.

    3. L'implementazione passa automaticamente dalla fase di origine a quella successiva dell'implementazione.

    4. Se c'è una fase di origine aggiuntiva, viene trattata allo stesso modo, includendo stesso tempo di attesa, se applicabile.

Risorse di Automation

Esistono due risorse Cloud Deploy specifiche automazione:

  • Automazione

    Un Automation è una risorsa figlio 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 di Automation è descritta nel documento Informazioni sulla risorsa di automazione.

    Quando esegui gcloud deploy apply su un file che include un'automazione (kind: Automation), Cloud Deploy crea un'istanza risorse di automazione, che associa una pipeline di distribuzione e una o più destinazioni a uno o più regole di automazione.

  • Esecuzione automazione

    AutomationRun è un'istanza di un'automazione. È un puntatore alla sua risorsa di Automation corrispondente, più informazioni sull'implementazione 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 è possibile eseguire sulla pipeline di distribuzione automaticamente, nonché i dettagli sul modo in cui l'automazione deve essere eseguita.

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 deployment di Cloud Deploy pipeline di distribuzione ed eseguire le attività da automatizzare (come l'avanzamento un'implementazione), sono necessarie diverse autorizzazioni per eseguire alcune 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 automatica. 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 il deployment includono queste autorizzazioni.

Crea un'automazione

Puoi creare un'automazione, ad esempio utilizzare una qualsiasi delle regole di automazione disponibili, configurando un'automazione e creando poi la risorsa di automazione gcloud deploy apply

Consulta la sezione seguente (Configurazione dell'automazione) e Configurare le regole di automazione.

Configurazione dell'automazione

Consulta le Schema del file di configurazione per maggiori dettagli su come configurare Automation risorsa.

Configurazione delle regole di Automation

Oltre a questa configurazione dell'automazione, devi specificare regole di automazione. La configurazione è diversa per ciascuna delle regole disponibili.

Consulta Usa le regole di automazione per le descrizioni di ogni delle regole disponibili.

Sospendere un'automazione

Puoi sospendere una risorsa esistente senza eliminarla. Può essere utile per testare un'automazione senza influire sulla pipeline di distribuzione. Quando sospendere un'automazione, l'automazione non viene eseguita, log della piattaforma vengono comunque generati.

  1. Nella Configurazione Automation, Aggiorna la proprietà suspended in true.

  2. Esegui gcloud deploy apply sul file di configurazione.

  3. I log della piattaforma vengono comunque generati quando viene creata un'istanza dell'automazione, anche se è sospesa. Puoi utilizzarlo per testare e eseguire il debug dell'automazione senza influire sulla pipeline di distribuzione.

Passaggi successivi