Déployer en production avec des étapes d’approbation
Apprenez à promouvoir en toute sécurité des compilations de la préproduction vers la production à l’aide des règles de protection des environnements de GitHub Actions, des approbations manuelles et des étapes de contrôle du déploiement.
Déployer en production avec des étapes d’approbation est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 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.
Pourquoi la production a besoin de garde-fous
Le déploiement continu livre automatiquement le code, mais l’envoyer directement en production sans aucun point de contrôle est risqué. Une version défectueuse peut affecter instantanément tous les utilisateurs.
Une garde d’approbation est une pause délibérée pendant laquelle une personne (ou une vérification automatisée) confirme qu’un déploiement peut continuer.
- Réduit l’ampleur des conséquences des erreurs
- Crée une piste d’audit indiquant qui a approuvé quoi
- Permet de distinguer les niveaux de confiance de la
staginget de laproduction
Environnements GitHub
GitHub Actions propose une fonctionnalité appelée Environnements. Un environnement, comme production, peut posséder ses propres secrets, variables et règles de protection.
Vous référencez un environnement depuis une tâche à l’aide de la clé environment. C’est la base pour ajouter des gardes d’approbation.
jobs:
deploy:
runs-on: ubuntu-latest
environment: production
steps:
- run: echo 'Deploying to production'Approbateurs requis
Dans les paramètres du dépôt, sous Paramètres > Environnements > production, vous pouvez activer les approbateurs requis.
Lorsqu’une tâche cible cet environnement, l’exécution du flux de travail se met en pause et attend qu’un des approbateurs répertoriés clique sur Approve.
- Jusqu’à 6 approbateurs peuvent être configurés
- Une seule approbation suffit par défaut à débloquer la tâche
- Selon les paramètres, l’approbateur ne peut pas être la personne qui a déclenché l’exécution
Un flux de travail entièrement protégé
Ici, une tâche de build s’exécute d’abord, puis une tâche de deploy en dépend via needs et cible l’environnement protégé production.
Le déploiement ne démarrera pas tant que l’approbateur requis ne l’aura pas approuvé dans l’interface Actions.
name: Deploy
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo 'build artifact'
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: production
url: https://myapp.example.com
steps:
- run: echo 'deploy to prod'Temporisateurs d’attente
En plus des approbateurs, les environnements prennent en charge un temporisateur d’attente. Celui-ci impose un délai, pouvant aller jusqu’à 30 jours, avant qu’un déploiement puisse continuer.
Un court délai d’attente est utile comme période de refroidissement de sécurité : il donne à l’équipe le temps d’annuler une exécution avant qu’elle n’atteigne la production.
Restrictions de branche pour les déploiements
Les environnements peuvent limiter les branches autorisées à déployer. Pour production, vous n’autorisez généralement que main (ou les balises de version).
Cela empêche un déploiement accidentel en production depuis une branche de fonctionnalité.
- Branches protégées — uniquement les branches dotées de règles de protection
- Branches sélectionnées — une liste d’autorisation explicite ou un modèle de balise
Secrets propres à l’environnement
Chaque environnement possède ses propres secrets. Un environnement production peut contenir PROD_DB_URL, tandis que staging contient STAGING_DB_URL.
Les secrets définis au niveau de l’environnement ne sont disponibles que pour les tâches qui ciblent cet environnement, ce qui ajoute une couche d’isolation.
steps:
- name: Deploy
env:
DB_URL: ${{ secrets.PROD_DB_URL }}
run: ./deploy.shSuivre l’état des déploiements
La définition d’une url sur l’environnement ajoute un lien cliquable vers le déploiement dans l’interface GitHub et enregistre un objet de déploiement via l’API des déploiements.
Vous disposez ainsi d’un historique visible : quelle validation a été déployée en production, à quel moment et par qui.
environment:
name: production
url: https://myapp.example.comApprouver une exécution en attente
Lorsqu’une tâche protégée est en attente, une bannière jaune Examiner les déploiements s’affiche sur la page de l’exécution du flux de travail.
- Ouvrez l’exécution dans l’onglet Actions
- Cliquez sur
Review deployments - Sélectionnez l’environnement et cliquez sur
Approve and deployouReject
Vous pouvez également laisser un commentaire expliquant votre décision.
Combiner plusieurs gardes
La garde de production la plus solide combine plusieurs règles :
- Approbateurs requis (approbation humaine)
- Un temporisateur d’attente (délai de sécurité)
- Des restrictions de branche (uniquement
main) - Des secrets d’environnement (isolation)
La combinaison de ces éléments crée un processus robuste de promotion de la préproduction vers la production.
Contourner les gardes en toute sécurité
Vous pouvez parfois avoir besoin d’un correctif urgent. Plutôt que de supprimer les règles de protection, envisagez un flux de travail de correctif urgent distinct et strictement limité, avec sa propre journalisation et des exigences de revue plus strictes.
Ne désactivez jamais définitivement les gardes par commodité : cela annulerait l’objectif du mécanisme de sécurité.
Vérification rapide
Vérifiez votre compréhension des gardes d’approbation de production.
Récapitulatif
Vous avez appris à ajouter des gardes d’approbation aux déploiements en production à l’aide des environnements GitHub.
- Utilisez la clé
environmentpour cibler un environnement protégé - Les approbateurs requis ajoutent une approbation humaine
- Les temporisateurs d’attente ajoutent une période de refroidissement
- Les restrictions de branche et les secrets d’environnement ajoutent une isolation
Ensemble, ces gardes rendent la promotion de la préproduction vers la production sûre et vérifiable.
Questions Fréquemment Posées
La leçon « Déployer en production avec des étapes d’approbation » est-elle gratuite ?
Oui — le texte complet de « Déployer en production avec des étapes d’approbation » 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 « Déployer en production avec des étapes d’approbation » ?
Apprenez à promouvoir en toute sécurité des compilations de la préproduction vers la production à l’aide des règles de protection des environnements de GitHub Actions, des approbations manuelles et d… 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 4 sur 4.
Combien de temps prend la leçon « Déployer en production avec des étapes d’approbation » ?
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 au déploiement continu
- Déploiement dans un environnement de préproduction
- Variables d’environnement et secrets
- Déployer en production avec des étapes d’approbation