Se l'esecuzione della pipeline non riesce, è possibile utilizzare il rollback per riportare l'ambiente a uno stato precedentemente stabile. Per utilizzare il rollback, pianificare un flusso di rollback e capire come implementarlo.

Un flusso di rollback prescrive i passaggi necessari per ripristinare il sistema in seguito a un errore nella distribuzione. Il flusso assume il formato di una pipeline di rollback, che include una o più attività sequenziali che variano in base al tipo di distribuzione eseguita e non riuscita. Ad esempio, la distribuzione e il rollback di un'applicazione tradizionale sono diversi dalla distribuzione e dal rollback di un'applicazione contenitore.

Per ripristinare uno stato di distribuzione valido, una pipeline di rollback in genere include attività per:
  • Pulire stati o ambienti.
  • Eseguire uno script specificato dall'utente per annullare le modifiche.
  • Distribuire una revisione precedente di una distribuzione.

Per aggiungere il rollback a una pipeline di distribuzione esistente, collegare la pipeline di rollback alle attività o alle fasi della pipeline di distribuzione di cui si desidera eseguire il rollback prima di eseguire la pipeline di distribuzione.

Come si configura il rollback

Per configurare il rollback nella distribuzione, è necessario:

  • Creare una pipeline di distribuzione.
  • Identificare i potenziali punti di errore nella pipeline di distribuzione che attiverà il rollback in modo da poter collegare la pipeline di rollback. Ad esempio, è possibile collegare la pipeline di rollback a una condizione o a un tipo di attività di polling nella pipeline di distribuzione, che controlla se un'attività precedente è stata completata correttamente. Per informazioni sulle attività delle condizioni, vedere Come utilizzare le associazioni di variabili in un'attività di condizione per eseguire o arrestare una pipeline in Automation Pipelines.
  • Determinare l'ambito di errore che attiverà la pipeline di rollback, ad esempio un errore di attività o di fase. È possibile anche collegare il rollback a una fase.
  • Stabilire l'attività o le attività di rollback da eseguire in caso di errore. Verrà creata la pipeline di rollback con tali attività.

La pipeline di rollback può essere creata manualmente oppure da Automation Pipelines. È inoltre possibile selezionare una pipeline condivisa per il rollback.

  • Utilizzando una tela vuota, è possibile creare manualmente una pipeline di rollback che segue un flusso in parallelo a una pipeline di distribuzione esistente. Quindi, la pipeline di rollback viene collegata a una o più attività nella pipeline di distribuzione che attiva il rollback in caso di errore.
  • Utilizzando un modello di pipeline smart è possibile configurare una pipeline di distribuzione con l'azione di rollback. Quindi, Automation Pipelines crea automaticamente una o più pipeline di rollback predefinite con attività predefinite che eseguono il rollback della distribuzione in caso di errore.

    Per un esempio dettagliato su come configurare una pipeline CD con il rollback utilizzando un modello di pipeline smart, vedere Come eseguire il rollback di una distribuzione in Automation Pipelines.

  • Se si utilizza una pipeline condivisa per il rollback, non è necessario creare più pipeline di rollback che eseguono la stessa funzione. È possibile selezionare la pipeline condivisa per eseguire il rollback delle attività per le pipeline in progetti diversi.

    Per informazioni su come configurare un'attività di pipeline con il rollback utilizzando una pipeline condivisa, consultare Creazione e utilizzo di pipeline condivise in Automation Pipelines.

Che cosa accade se la pipeline di distribuzione presenta più attività o fasi con rollback

Se sono presenti più attività o attività e fasi a cui viene aggiunto il rollback, tenere presente che la sequenza di rollback varia.
Tabella 1. Determinazione della sequenza di rollback
Se si aggiunge il rollback a... Quando viene eseguito il rollback...
Attività parallele Se una delle attività parallele non riesce, il relativo rollback si verifica dopo che tutte le attività parallele sono state completate o non sono riuscite. Il rollback non si verifica immediatamente dopo la mancata riuscita dell'attività.
Sia l'attività all'interno di una fase che la fase Se un'attività non riesce, viene eseguito il relativo rollback. Se l'attività si trova in un gruppo di attività parallele, il rollback dell'attività viene eseguito dopo che tutte le attività parallele sono state completate o non sono riuscite. Dopo che il rollback dell'attività è stato completato o non è riuscito, viene eseguito il rollback della fase.

Si consideri una pipeline che ha:

  • Una fase di produzione con rollback.
  • Un gruppo di attività parallele, ciascuna con il proprio rollback.

L'attività denominata UPD Deploy US ha la pipeline di rollback RB_Deploy_US. Se UPD Deploy US non riesce, il rollback segue il flusso definito nella pipeline RB_Deploy_US.

In una fase della pipeline che presenta attività parallele, la scheda Rollback mostra la pipeline di rollback utilizzata se l'attività non riesce.

Se UPD Deploy US non riesce, la pipeline RB_Deploy_US viene eseguita dopo che anche UPD Deploy UK e UPD Deploy AU sono state completate o non sono riuscite. Il rollback non si verifica immediatamente dopo la mancata riuscita di UPD Deploy US. Poiché anche la fase di produzione ha il rollback, dopo l'esecuzione della pipeline RB_Deploy_US, viene eseguita la pipeline di rollback della fase.