Qu'est-ce que YAML ?

YAML (Yet Another Markup Language) est un format de sérialisation des données conçu pour être facile à lire et à écrire. Il sert couramment dans la gestion de la configuration pour les fichiers de configuration, mais peut également être utilisé pour stocker des données dans un format structuré tel qu'une liste ou un dictionnaire.

YAML repose sur l'idée de représenter les données sous forme d'une structure en arborescence, où chaque élément est considéré comme un nœud de l'arbre. Les nœuds peuvent contenir d'autres nœuds ou des données sous forme de valeurs scalaires (chaînes de caractères ou nombres).

YAML est souvent utilisé car il est facile à lire et à écrire, et parce qu'il est plus succinct que d'autres formats de sérialisation de données tels que XML ou JSON. Il est également largement pris en charge. Beaucoup de langages de programmation disposent de bibliothèques pour l'analyse et la génération de YAML.

Comment YAML est-il utilisé dans la CI/CD ?

En CI/CD, YAML s'utilise comme format de fichier de configuration afin de définir les processus de build, de test et de déploiement d'une application ou d'un service. Il permet aux développeurs de spécifier les étapes nécessaires au build et au déploiement de leur application, ainsi que les dépendances, les variables d'environnement et les autres paramètres nécessaires à l'exécution du pipeline.

Voici quelques exemples d'utilisation de YAML dans le cadre de la CI/CD :

  1. Définition de la structure du pipeline : YAML s'utilise pour définir la structure du pipeline, avec ses phases, ses tâches et ses étapes. Les développeurs peuvent ainsi créer un pipeline en mesure d'exécuter les étapes et les tests appropriés pour vérifier que l'application est générée, testée et déployée correctement.
  2. Spécification des instructions de build et de déploiement : YAML est utilisé pour spécifier les instructions de build et de déploiement pour chaque phase et chaque tâche du pipeline. Il s'agit notamment de commandes permettant de compiler le code, d'exécuter les tests et de déployer l'application dans un environnement spécifique.
  3. Configuration des variables d'environnement et des dépendances : YAML sert aussi à configurer les variables d'environnement et les dépendances nécessaires au pipeline. Il s'agit par exemple des informations de connexion à la base de données, des clés API et des bibliothèques externes.
  4. Révisions et approbations du code : YAML peut permettre de définir des workflows de révision et d'approbation du code, pour garantir aux développeurs que les modifications du code sont examinées et approuvées avant d'être fusionnées dans la branche principale.

Kotlin DSL est une alternative à YAML. Il permet aux équipes de configurer leurs projets sous forme de code, de manière plus poussée, et de gérer votre projet de CI/CD à toute échelle.