Intermédiaire
Pipeline CI/CD complet avec GitHub Actions
Créer un workflow de production pour une application Node.js incluant tests, build Docker et déploiement.
📝 Contenu du Prompt
Agis en tant qu'Expert DevOps. Je souhaite créer un pipeline CI/CD robuste pour une application Node.js (Express) en utilisant GitHub Actions.
Le workflow doit suivre ces étapes :
1. Déclenchement sur les branches 'main' et 'develop'.
2. Installation des dépendances et cache des modules npm.
3. Exécution des tests unitaires (Jest) et de la couverture de code.
4. Construction de l'image Docker (multi-stage build) pour optimiser la taille.
5. Connexion sécurisée à un registre de conteneurs (par exemple, GHCR ou Docker Hub) en utilisant des secrets.
6. Push de l'image taguée avec le hash du commit et le nom de la branche.
7. Déploiement automatique sur un environnement de staging si la branche est 'develop'.
Fournis le fichier YAML complet du workflow (.github/workflows/ci-cd.yml) avec des commentaires explicatifs pour chaque étape critique. Assure-toi d'inclure les bonnes pratiques de sécurité (ne jamais exposer de secrets en clair).