Créer des flux de travail CI/CD
Créez des pipelines CI/CD pratiques pour compiler, tester et déployer automatiquement votre code lors des envois ou des demandes de fusion.
Créer des flux de travail CI/CD est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Bienvenue dans la CI/CD
Dans cette leçon, vous apprendrez à créer de puissantes chaînes d'intégration continue (CI) et de déploiement continu (CD) avec GitHub Actions.
La CI/CD automatise votre processus de développement logiciel, des modifications du code au déploiement, pour le rendre plus rapide et plus fiable.
Pourquoi la CI/CD est importante
Pourquoi l'automatisation est-elle si essentielle dans le développement logiciel moderne ?
- Retour plus rapide : détectez rapidement les bogues et les problèmes d'intégration en exécutant automatiquement les tests.
- Compilations cohérentes : veillez à ce que chaque compilation suive les mêmes étapes et réduisez les problèmes du type « ça fonctionne sur ma machine ».
- Versions fiables : déployez de nouvelles fonctionnalités ou des correctifs avec confiance et en limitant les erreurs manuelles.
- Meilleure collaboration : les équipes intègrent les modifications fréquemment et harmonieusement, ce qui réduit les conflits de fusion.
GitHub Actions : concepts fondamentaux
GitHub Actions utilise des flux de travail définis dans des fichiers YAML. Ces fichiers se trouvent dans un répertoire spécial de votre dépôt : .github/workflows/.
Un flux de travail définit une série de tâches, et chaque tâche contient des étapes qui exécutent des commandes ou utilisent des actions préconfigurées. C'est ainsi que vous indiquez à GitHub quoi faire !
Créer votre premier flux de travail CI
Créons un flux de travail CI de base qui se déclenche à chaque push vers votre dépôt. Il configurera Node.js et simulera le processus de compilation d'un projet.
Enregistrez ce contenu sous .github/workflows/ci.yml dans votre dépôt :
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build project
run: node build.jsSimuler le script de compilation
Dans le flux de travail, la commande node build.js exécuterait un script comme celui-ci. Ce script simule le travail de compilation, d'empaquetage ou de préparation du code de votre application.
Essayez de l'exécuter pour voir la sortie :
console.log("Starting project build...");
console.log(" - Compiling source files...");
console.log(" - Bundling assets for deployment...");
console.log("Build process finished successfully!");Ajouter des tests automatisés
Une partie essentielle de la CI consiste à exécuter des tests automatisés. Étendons notre flux de travail afin d'inclure une étape de test après l'installation des dépendances. Si les tests échouent, le flux de travail échoue, ce qui empêche le code défectueux de poursuivre son chemin !
Nous ajouterons une étape test comme celle-ci :
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: node test.js
- name: Build project
run: node build.jsSimuler le script de test
Voici un script test.js simple que votre flux de travail pourrait exécuter. Dans un vrai projet, il utiliserait des infrastructures de test comme Jest ou Mocha, mais cet exemple illustre le principe d'exécution des tests.
Exécutez-le pour voir un résultat de test simulé :
console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing
if (allTestsPass) {
console.log("All 12 tests passed successfully!");
} else {
console.error("Tests failed! Please fix the errors.");
process.exit(1); // Exit with a non-zero code to indicate failure
}Présentation du déploiement continu (CD)
Alors que la CI se concentre sur la compilation et les tests, le déploiement continu (CD) va plus loin en déployant automatiquement votre application sur un serveur ou un service cloud une fois toutes les vérifications CI réussies.
Les déclencheurs courants de la CD incluent :
- la création d'une nouvelle balise Git (par exemple
v1.0.0) ; - l'envoi de code vers une branche précise (par exemple
mainouproduction) ; - la création d'une version GitHub.
Un flux de travail CD simple
Voici un flux de travail qui se déclenche lorsqu'une nouvelle balise Git est créée et qui inclut une étape de déploiement simulée. Dans un cas réel, cette étape communiquerait avec votre fournisseur d'hébergement (par exemple AWS, Azure ou Heroku).
Enregistrez-le sous .github/workflows/cd.yml :
name: Deploy to Production
on:
push:
tags:
- 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Simulate deployment
run: |
echo "Deploying application to production server..."
echo "Version: ${{ github.ref_name }}"
echo "Deployment complete!"
# In a real scenario, you'd use a deployment action here
# e.g., aws-actions/configure-aws-credentials, appleboy/ssh-actionVérification du flux de travail CI/CD
Lesquels des éléments suivants sont des avantages clés de la mise en œuvre de chaînes CI/CD ?
Récapitulatif : créer une CI/CD
Vous avez appris à créer des flux de travail CI/CD robustes avec GitHub Actions !
- Nous avons défini la CI/CD et ses avantages pour le développement moderne.
- Nous avons étudié la structure YAML essentielle d'un flux de travail GitHub Actions.
- Nous avons créé des flux de travail CI pour automatiser les compilations et les tests des projets.
- Nous avons conçu un flux de travail CD pour automatiser les déploiements déclenchés par des balises.
Continuez à automatiser pour livrer votre code plus rapidement et avec davantage de confiance !
Questions Fréquemment Posées
La leçon « Créer des flux de travail CI/CD » est-elle gratuite ?
Oui — le texte complet de « Créer des flux de travail CI/CD » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Créer des flux de travail CI/CD » ?
Créez des pipelines CI/CD pratiques pour compiler, tester et déployer automatiquement votre code lors des envois ou des demandes de fusion. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Créer des flux de travail CI/CD » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Introduction à GitHub Actions
- Créer des flux de travail CI/CD
- Actions personnalisées et Marketplace
- Secrets et variables d’environnement dans les actions