Contenu du cours
Introduction aux Tests d'Automatisation QA
Introduction aux Tests d'Automatisation QA
Introduction à un Pipeline CI/CD
Qu'est-ce que le CI/CD ?
-
CI signifie Intégration Continue : C'est une pratique où les développeurs intègrent fréquemment leur code dans un dépôt partagé. Cependant, une partie importante du CI est de s'assurer que les modifications apportées par un développeur ne cassent pas le système lorsqu'elles sont combinées avec les modifications apportées par d'autres. Chaque fois que le code est intégré, des tests automatisés sont exécutés pour s'assurer que tout fonctionne ;
-
CD signifie Livraison/Déploiement Continu : Une fois le code intégré et testé, l'étape suivante est de le livrer automatiquement. Dans la Livraison Continue, l'application est automatiquement préparée pour être publiée dans un environnement de production, mais un humain peut décider quand elle sera effectivement mise en ligne. Dans le Déploiement Continu, le code est automatiquement déployé en production après avoir passé les tests, sans intervention humaine ;
Un pipeline CI/CD pour une application Node.js implique généralement les étapes suivantes :
-
Commit de Code : Un développeur écrit du code et le pousse vers un système de contrôle de version comme GitHub ou GitLab ;
-
Tests Automatisés (CI) : Dès que le code est commis, le système CI exécute des tests automatisés pour s'assurer que les nouvelles modifications ne cassent pas l'application. Cela fait partie des Tests de Régression plus larges ;
-
Build (CI) : Si les tests réussissent, l'application est construite. Pour Node.js, cela pourrait impliquer des tâches comme le regroupement des fichiers JavaScript, la compilation de TypeScript (si utilisé), ou la préparation des ressources ;
-
Déploiement : L'application est automatiquement déployée sur l'hôte. Certaines plateformes d'hébergement populaires incluent Microsoft Azure, AWS, Heroku, etc ;
Outils utilisés dans CI/CD pour Node.JS
-
GitHub / GitLab / Bitbucket : Pour le contrôle de version et la gestion des dépôts ;
-
Jenkins / CircleCI / GitLab CI : Ces outils aident à automatiser le processus de test et de construction de l'application lorsque le code est poussé vers le dépôt ;
-
Docker : Docker est utilisé dans l'étape de déploiement. Il emballe l'application Node.js dans un conteneur virtuel, facilitant ainsi son déploiement dans n'importe quel environnement ;
-
Microsoft Azure / AWS / Heroku : Services où votre application Node.js peut être hébergée et déployée ;
Nous utiliserons GitHub pour la gestion des dépôts et Jenkins pour automatiser le processus de test.
Le déploiement de l'application peut être intégré dans Jenkins juste après que les tests automatisés ont été effectués, cependant cela nécessite la connaissance de Docker, qui est un sujet plus approprié pour un cours DevOps.
1. Que signifie CI dans CI/CD ?
2. Quel est le but de l'intégration continue (CI) ?
3. Lequel des éléments suivants est un exemple de plateforme d'hébergement utilisée pour les applications Node.js dans un pipeline CI/CD ?
4. Pourquoi Docker est-il utilisé dans le pipeline CI/CD ?
Merci pour vos commentaires !