Cet article présente les pipelines et plus particulièrement leur fonctionnement via DevOps lors d’un processus de développement de projet informatique.
Définition Microsoft :
Combinant développement (Dev) et opérations (Ops), DevOps est l’union des personnes, des processus et des technologies destinées à fournir continuellement de la valeur aux clients.
Que signifie DevOps pour les équipes ? DevOps permet la coordination et la collaboration des rôles autrefois cloisonnés (développement, opérations informatiques, ingénierie qualité et sécurité) pour créer des produits plus performants et plus fiables. En adoptant une culture DevOps ainsi que des pratiques et outils DevOps, les équipes peuvent mieux répondre aux besoins des clients, accroître la confiance suscitée par les applications qu’elles développent, et atteindre plus rapidement les objectifs de leur entreprise.
Définition Wikipedia :
Le devops — ou DevOps (selon la graphie habituellement utilisée en langue anglaise) — est un mouvement en ingénierie informatique et une pratique technique visant à l’unification du développement logiciel (dev) et de l’administration des infrastructures informatiques (ops), notamment l’administration système.
L’intérêt de créer des pipelines DevOps est de pouvoir travailler sur des cycles plus courts et reproductibles.
L’objectif est de diminuer les cycles de mise en production pour permettre de se concentrer sur les aspects de changement et de modification rapide selon les retours des clients.
Dans un processus de développement cyclique d’application DevOps, nous retrouvons 7 étapes permettant d’aller de la planification à la supervision.
Pour la gestion des pipelines, Il existe différents outils sur le marché.
Voici quelques exemples :
ARKANCE Systems France utilise en interne, un serveur Azure DevOps. C’est donc naturellement que nous avons fait le choix d’utiliser les outils déjà présents dans ce logiciel.
L’outil se trouve dans l’onglet Pipeline . Il permet de gérer les pipelines via une page web. Plusieurs formats de création sont disponibles. Arkance Systems France a choisi le format YAML, car celui-ci est très bien intégré à Azure DevOps Server.
Exemple de fichier :
Le format YAML est un format de script permettant de décrire chaque action à effectuer, ainsi que leur ordre d’exécution. Le YAML peut être écrit directement dans un fichier texte (au format YAML). Il existe également un éditeur intégrer au serveur. Ce dernier peut être d’une grande aide pour commencer.
Les étapes que l’on retrouve le plus souvent sont les suivantes :
L’exécution d’un pipeline ne se fait pas directement sur Azure DevOps Server. L’exécution se fait à l’aide d’un agent (à installer de préférence sur un autre serveur).
Pour installer l’agent, Azure DevOps met à disposition 3 versions :
Cela vous permet de compiler votre code dans un environnement contrôlé avec potentiellement des outils spécifiques installés sur la machine exécutant l’agent.
Une fois le scénario de compilation écrit (en YAML), il doit être exécuté.
Pour cela Azure DevOps Server propose différentes solutions :
Arkance Systems France utilise la deuxième méthode. Cette dernière permet, de vérifier la validité du résultat lors de la revue du code.
La mise en place des pipelines n’est qu’une partie des outils proposés par Azures DevOps Server. La compilation automatisée, l’exécution systématique des tests et la publication automatisée nous ont permis d’améliorer la qualité de nos développements et de simplifier les livraisons client.