Dans le cadre de la transformation numérique, les entreprises doivent développer de nouvelles applications et fonctions au sein des applications existantes de plus en plus rapidement, et ce pour répondre aux besoins des différents métiers.
Sans une démarche d’intégration continue (CI), de développement et de déploiements continus (CD), les équipes ne peuvent pas répondre efficacement, rapidement et en toute sécurité aux besoins exprimés. Les concepts d’intégration continue permettent de lancer des tests et autres vérifications sur les applications sans interrompre les développements.
Pour rappel l’intégration continue (CI) consiste en une phase de tests automatisés intégrée au flux de déploiement. Le déploiement continu (Continuous Deployment), là encore CD désigne le transfert automatique des modifications effectuées par le développeur du référentiel vers l’environnement de production (mais aussi préproduction, tests, …). Il se différencie de la livraison continue en ce que celle-ci simplifie le passage en production, réalisé par l’équipe d’exploitation, quand le déploiement continu automatise ce même processus. L’ensemble de ces processus doivent pouvoir être gérés dans les différents clouds et s’adapter aux nouvelles plateformes comme les containers ou Kubernetes.
Si vous utilisez Gitlab vous avez déjà accès aux outils d’intégration et de déploiement continu. GitLab CI/CD est une fonctionnalité de GitLab qui permet de mettre en place des pipelines de CI/CD pour n’importe quel projet, qu’il soit nouveau ou existant, pourvu qu’il utilise Git. Il permet même de lancer des tests d’intégration en local sur vos machines.
Mettre en place la CI/CD avec GitLab vous permet d’automatiser les étapes :
- D’intégration continue : Build > Tests (unitaires, d’intégration, de non-régression…)
- De déploiement continu : Review > Déploiement (staging, production…)
Cette automatisation accélère la production de code : un seul commit suffit à déclencher une pipeline côté GitLab qui s’occupera de générer un build de production, lancer la suite de tests et déployer la nouvelle version en staging/production ! Cela permet également d’augmenter la confiance des développeurs et la qualité du code envoyé en production, car on a l’assurance que chaque modification est passée par ce processus.