CI / CD
Domaine : Méthodologie et tests
Plus une équipe attend pour vérifier son code, plus les erreurs coûtent cher à corriger, et une nouvelle version n’apporte rien tant qu’elle n’est pas en ligne. La CI / CD, c’est-à-dire l’intégration et le déploiement continus, automatise les deux : chaque modification est vérifiée, et chaque version validée est publiée, sans manipulation à la main. Ce module le met en place avec GitHub Actions, Vercel et Render, de la première vérification jusqu’au retour à une version précédente quand une mise en ligne se passe mal.
- Public
- Étudiants
- Développeurs
- Chefs de projet technique
- Niveau
- Intermédiaire
- Formats
- Sur site ou à distance
Prérequis
Les bases de Git et GitHub.
Objectifs
- Écrire un workflow GitHub Actions
- Lancer automatiquement les tests, le linter et le build à chaque modification
- N’accepter une pull request que si toutes les vérifications passent
- Mettre en ligne automatiquement chaque version fusionnée
- Garder les secrets hors du code, et revenir à une version précédente en cas de problème
Programme
Les workflows
Les déclencheurs, comme un push ou une pull request, les jobs et les étapes.
Vérifier le code
Lancer les tests, le linter et le build, et accélérer les workflows avec le cache.
Protéger la branche principale
Une pull request n’est fusionnée que si toutes les vérifications passent.
Héberger une application
La différence entre un site statique et une application avec un serveur, et les hébergeurs qui leur conviennent.
Déployer automatiquement
Relier un dépôt GitHub à Vercel ou à Render, déployer à chaque fusion, prévisualiser chaque pull request et relier un nom de domaine.
Les secrets
Donner à un workflow et à une application en ligne les clés dont ils ont besoin, sans les écrire dans le code.
Surveiller et réparer
Lire les journaux et revenir à une version précédente.
Travaux pratiques
Par exemple le chiffre de César : ses tests Cypress lancés à chaque modification, puis sa mise en ligne sur Vercel à chaque fusion, parmi d’autres exercices.
Des explications courtes, puis de la pratique : les exercices et le projet sont adaptés au niveau du groupe.