Exécution d'un stage CodePipeline selon une condition

Depuis 2024, AWS CodePipeline s’est enrichi d’une fonctionnalité très attendue : la possibilité d’ajouter des conditions au niveau des stages. Trois types de conditions sont actuellement disponibles :

  • Stage entry condition — condition avant d’entrer dans le stage (permet de sauter ou Ă©chouer le stage)
  • Success condition — exĂ©cuter un stage uniquement si le prĂ©cĂ©dent est un succès
  • Failure condition — exĂ©cuter un stage uniquement si le prĂ©cĂ©dent a Ă©chouĂ©

Dans cet article, nous allons nous concentrer sur la première : la condition d’entrée dans un stage, configurée en mode Skip (Saut).

Cas d’usage

Imaginons un stage facultatif nommé “Approbation”, situé au milieu d'une pipeline, dont l’exécution dépend d’une valeur calculée dans une action antérieure. Comment faire en sorte que ce stage soit exécuté uniquement si cette valeur remplit une certaine condition ?

Définir un espace de nom pour les variables exportées

Lors de la configuration de l’action qui calcule la valeur, il est nécessaire de définir un espace de noms (namespace). Cet espace de noms permet d’exporter des variables et de les référencer dans les actions des stages suivants.

codebuild-variable-namespace.png

Configurer la condition d'entrée dans le stage facultatif

Pour notre cas, la condition doit vérifier une variable provenant de l’espace de noms précédent. AWS propose différents fournisseurs pour la condition : CodeBuild, Lambda, CloudWatch Alarms, AWS VariableCheck... Puisque notre condition repose sur une valeur fixe (une fois calculée) exportée, le fournisseur à utiliser est AWS VariableCheck.

On indique alors la variable à vérifier, avec la syntaxe propre à CodePipeline #{espace_de_nom.variable_exportee}. Par exemple, pour exécuter le stage uniquement si une variable vaut false, il suffit de choisir l'opérateur égal avec cette même valeur. Ainsi, si la variable vaut false, le stage “Approbation” sera exécuté. Sinon, il sera sauté automatiquement.

Une fois la condition d’entrée configurée, vous pouvez ajouter vos actions habituelles dans le stage. Par exemple, une action d’approbation manuelle peut être utilisée si le stage correspond à une revue manuelle en fonction du résultat du stage précédent.

stage-entry-condition-variable.png

Grâce à ces nouvelles conditions, AWS CodePipeline devient plus flexible et intelligent dans la gestion des flux CI/CD. Je vous redirige sur l'article du blog d'AWS pour en voir plus. Cette fonctionnalité permet d’adapter dynamiquement l’exécution des stages en fonction du contexte, des résultats précédents ou de variables calculées, sans avoir à dupliquer des pipelines ou à recourir à des scripts externes.