È possibile configurare il rollback come pipeline con attività che, in seguito un errore in una pipeline di distribuzione, ripristinano uno stato stabile precedente della distribuzione. Per eseguire il rollback in caso di errore, collegare la pipeline di rollback alle attività o alle fasi.
Le ragioni del rollback possono variare in base al ruolo.
- Per un ingegnere del rilascio potrebbe essere importante che Code Stream verifichi se il rilascio sta avvenendo in modo corretto per sapere se procedere o eseguire il rollback. I possibili errori includono un errore di attività, un rifiuto in UserOps, il superamento della soglia delle metriche.
- Il proprietario dell'ambiente potrebbe voler ridistribuire una versione precedente in modo da ripristinare rapidamente uno stato noto dell'ambiente.
- Potrebbe anche pensare di supportare il rollback di una distribuzione blu-verde in modo da ridurre al minimo I tempi di inattività in caso di errore delle versioni.
Quando si utilizza un modello di pipeline smart per creare una pipeline CD con l'opzione di rollback selezionata, il rollback viene aggiunto automaticamente alle attività nella pipeline. In questo caso d'uso viene utilizzato il modello di pipeline smart per definire il rollback per la distribuzione di un'applicazione in un cluster Kubernetes utilizzando il modello di distribuzione dell'aggiornamento in sequenza. Il modello di pipeline smart crea una pipeline di distribuzione e una o più pipeline di rollback.
- Nella pipeline di distribuzione il rollback è obbligatorio se le attività di aggiornamento o di verifica della distribuzione non riescono.
- Nella pipeline di rollback la distribuzione viene aggiornata con un'immagine precedente.
È inoltre possibile creare manualmente una pipeline di rollback utilizzando un modello vuoto. Prima di creare una pipeline di rollback, è necessario pianificare il flusso di rollback. Per ulteriori informazioni di base sul rollback, vedere Pianificazione del rollback in Code Stream.
Prerequisiti
- Verificare di essere un membro di un progetto in Code Stream. In caso contrario, chiedere a un amministratore di Code Stream di essere aggiunti come membri di un progetto. Vedere Come aggiungere un progetto in Code Stream.
- Configurare i cluster Kubernetes in cui la pipeline distribuirà l'applicazione. Configurare un cluster di sviluppo e un cluster di produzione.
- Verificare che sia configurato un registro Docker.
- Identificare un progetto che raggruppi tutto il lavoro, inclusi la pipeline, gli endpoint e i dashboard.
- Familiarizzare con il modello smart CD come descritto nella parte CD di Pianificazione di una creazione nativa di integrazione continua e consegna continua in Code Stream prima di utilizzare il modello di pipeline smart, ad esempio:
- Creare gli endpoint di produzione e di sviluppo Kubernetes che distribuiscono l'immagine dell'applicazione ai cluster Kubernetes.
- Preparare il file YAML di Kubernetes che crea lo spazio dei nomi, il servizio e la distribuzione. Se è necessario scaricare un'immagine da un repository di proprietà privata, il file YAML deve includere una sezione con il segreto di configurazione di Docker.
Procedura
- Fare clic su .
- Immettere le informazioni nel modello di pipeline smart.
- Selezionare un progetto.
- Immettere il nome di una pipeline ad esempio RollingUpgrade-Example.
- Selezionare gli ambienti dell'applicazione. Per aggiungere il rollback alla distribuzione, è necessario selezionare Prod.
- Fare clic su Seleziona, scegliere un file YAML Kubernetes e fare clic su Elabora.
Il modello di pipeline smart consente di visualizzare gli ambienti di distribuzione e i servizi disponibili.
- Selezionare il servizio che la pipeline utilizzerà per la distribuzione.
- Selezionare gli endpoint di cluster per l'ambiente di sviluppo e l'ambiente di produzione.
- Per l'origine dell'immagine, selezionare Input runtime pipeline.
- Per il modello di distribuzione, selezionare Aggiornamento in sequenza.
- Fare clic su Rollback.
- Specificare l'URL controllo dello stato.
- Per creare la pipeline denominata RollbackUpgrade-example, fare clic su Crea.
Viene visualizzata la pipeline denominata RollbackUpgrade-Example e l'icona di rollback viene visualizzata nelle attività che possono eseguire il rollback nella fase di sviluppo e nella fase di produzione.
- Chiudere la pipeline
Nella pagina Pipeline viene visualizzata la pipeline creata e una nuova per ogni fase della pipeline.
- RollingUpgrade-Example. Code Stream disattiva la pipeline creata per impostazione predefinita, consentendo di rivederla prima che venga eseguita.
- RollingUpgrade-Example_Dev_Rollback. Errore di attività nella fase di sviluppo, ad esempio Crea servizio, Crea segreto, Crea distribuzione e Verifica distribuzione che richiamano questa pipeline di sviluppo di rollback. Per garantire il rollback delle attività di sviluppo, Code Stream attiva la pipeline di sviluppo di rollback per impostazione predefinita.
- RollingUpgrade-Example_Prod_Rollback. Errore delle attività nella fase di produzione, ad esempio Fase di distribuzione 1, Fase di verifica 1, Fase di implementazione della distribuzione, Fase di implementazione del completamento e Fase di implementazione della verifica che richiamano questa pipeline di produzione di rollback. Per garantire il rollback delle attività di produzione, Code Stream attiva la pipeline di produzione di rollback per impostazione predefinita.
- Abilitare ed eseguire la pipeline creata.
Quando si avvia l'esecuzione,
Code Stream richiede i parametri di input. È possibile fornire l'immagine e il tag per l'endpoint nel repository Docker che si sta utilizzando.
- Nella pagina Esecuzioni, selezionare e osservare l'esecuzione della pipeline.
La pipeline inizia l'ESECUZIONE e passa attraverso le attività della fase di sviluppo. Se la pipeline non riesce a eseguire un'attività durante la fase di sviluppo, viene attivata la pipeline denominata RollingUpgrade-Example_Dev_Rollback per eseguire il rollback della distribuzione e lo stato della pipeline cambia in ROLLING_BACK.
Dopo il rollback, nella pagina Esecuzioni sono elencate due esecuzioni della pipeline RollingUpgrade-Example.
- Viene eseguito il rollback della pipeline creata, dopodiché viene mostrato ROLLBACK_COMPLETED.
- La pipeline di sviluppo di rollback che è ha attivata ed eseguito il rollback mostra COMPLETED.
risultati
Congratulazioni! È stata definita una pipeline con rollback ed è stato osservato il rollback della pipeline da parte di
Code Streamnel punto di errore.