Si l'exécution d'un pipeline échoue, vous pouvez utiliser la restauration pour rétablir votre environnement à un état précédemment stable. Pour utiliser la récupération, planifiez un flux de récupération et comprenez comment l'implémenter.
Un flux de restauration prescrit les étapes requises pour remédier à l'échec d'un déploiement. Le flux se présente sous la forme d'un pipeline de restauration incluant une ou plusieurs tâches séquentielles qui varient selon le type du déploiement exécuté et ayant échoué. Par exemple, le déploiement et la restauration d'une application traditionnelle sont différents du déploiement et de la restauration d'une application de conteneur.
- de nettoyage des états ou des environnements ;
- d'exécution d'un script spécifié par l'utilisateur pour restaurer les modifications ;
- de déploiement d'une révision précédente d'un déploiement.
Pour ajouter une restauration à un pipeline de déploiement existant, vous associez le pipeline de restauration aux tâches ou aux étapes du pipeline de déploiement que vous souhaitez restaurer avant d'exécuter votre pipeline de déploiement.
Comment configurer une restauration
Pour configurer une restauration dans votre déploiement, vous devez :
- Créer un pipeline de déploiement.
- Identifier les points d'échec potentiels dans le pipeline de déploiement, qui déclencheront la restauration, afin que vous puissiez associer votre pipeline de restauration. Par exemple, vous pouvez associer votre pipeline de restauration à un type de tâche de condition ou d'interrogation dans le pipeline de déploiement, qui vérifie si une tâche précédente s'est terminée avec succès. Pour plus d'informations sur les tâches de condition, reportez-vous à la section Utilisation des liaisons de variables dans une tâche de condition pour l'exécution ou l'arrêt d'un pipeline dans Code Stream.
- Déterminez l'étendue de l'échec qui déclenchera le pipeline de restauration, comme l'échec d'une tâche ou d'une étape. Vous pouvez également associer une restauration à une étape.
- Choisissez les tâches de restauration à exécuter en cas d'échec. Vous créerez votre pipeline de restauration avec ces tâches.
Vous pouvez créer manuellement un pipeline de restauration ou Code Stream peut le faire pour vous. Vous pouvez également sélectionner un pipeline partagé à restaurer.
- À l'aide d'un canevas vide, vous pouvez créer manuellement un pipeline de restauration qui suit un flux parallèlement à un pipeline de déploiement existant. Ensuite, vous associez le pipeline de restauration à une ou plusieurs tâches du pipeline de déploiement qui déclenche la restauration en cas d'échec.
- À l'aide d'un modèle de pipeline intelligent, vous pouvez configurer un pipeline de déploiement avec l'action de restauration. Ensuite, Code Stream crée automatiquement un ou plusieurs pipelines de restauration par défaut avec des tâches prédéfinies, qui restaurent le déploiement en cas d'échec.
Pour obtenir un exemple détaillé de la configuration, à l'aide d'un modèle de pipeline intelligent, d'un pipeline CD avec une restauration, reportez-vous à la section Restauration d'un déploiement dans Code Stream.
- En utilisant un pipeline partagé pour la restauration, vous n'avez pas besoin de créer plusieurs pipelines de restauration qui exécutent la même fonction. Vous pouvez sélectionner le pipeline partagé pour restaurer les tâches des pipelines sur différents projets.
Pour voir comment configurer une tâche de pipeline avec restauration à l'aide d'un pipeline partagé, reportez-vous à la section Création et utilisation de pipelines partagés dans Code Stream.
Que se passe-t-il si mon pipeline de déploiement comporte plusieurs tâches ou étapes avec restauration ?
Si vous ajoutez une restauration à… | Au moment de la restauration... |
---|---|
Des tâches parallèles | Si l'une des tâches échoue, sa restauration aura lieu lorsque toutes les autres tâches exécutées en parallèle seront terminées ou auront échoué. La restauration ne se produit pas immédiatement après l'échec de la tâche. |
La tâche incluse dans une étape et l'étape | Si une tâche échoue, la restauration de la tâche s'exécute. Si la tâche se trouve dans un groupe de tâches parallèles, la restauration de la tâche s'exécute une fois toutes les tâches parallèles terminées ou ayant échoué. Une fois la restauration de la tâche terminée ou si elle ne parvient pas à s'achever, la restauration de l'étape s'exécute. |
Envisagez un pipeline comprenant :
- Une étape de production avec restauration.
- Un groupe de tâches parallèles, chaque tâche comportant sa propre restauration.
La tâche nommée UPD Deploy US dispose du pipeline de restauration RB_Deploy_US. Si UPD Deploy US échoue, la restauration suit le flux défini dans le pipeline RB_Deploy_US.
Si UPD Deploy US échoue, le pipeline RB_Deploy_US s'exécute après que UPD Deploy UK et UPD Deploy AU se sont également terminés ou ont également échoué. La restauration ne se produit pas immédiatement après l'échec de UPD Deploy US. Étant donné que l'étape de production a également été restaurée, une fois le pipeline RB_Deploy_US exécuté, le pipeline de restauration de l'étape s'exécute.