Règles de protection et gouvernance
Les règles de protection disponibles
Sur la page d'un Environment (Settings > Environments > <nom>) :
- Required reviewers — jusqu'à 6 personnes/équipes ; une seule approbation débloque le job.
- Wait timer — un délai en minutes avant que le job ne continue automatiquement, sans action humaine.
- Deployment branches and tags — restreint quelles branches/tags peuvent référencer cet Environment (et donc accéder à ses secrets).
- Prevent administrators from bypassing configured protection rules — désactive le contournement par défaut des admins.
Étape pratique — configurer un reviewer requis et observer le blocage
- Sur l'Environment
democréé au module précédent, activez Required reviewers et ajoutez-vous vous-même (ou un autre compte si vous en avez un sous la main). - Retournez dans l'onglet Actions, relancez le workflow
Environment demo(Run workflow). - Cette fois, le run reste en statut Waiting au niveau du job
say-hello— il ne s'exécute pas immédiatement. Ouvrez le run : un bandeau indique qu'une revue est nécessaire, avec un bouton pour Review deployments. - Cliquez dessus, sélectionnez l'Environment concerné, approuvez. Le job reprend et s'exécute normalement.
Vous venez de transformer un déploiement automatique en déploiement gouverné — sans changer une ligne du workflow lui-même, uniquement la configuration de l'Environment qu'il référence.
Étape pratique — restreindre les branches de déploiement
- Sur le même Environment
demo, activez Deployment branches and tags et choisissez Selected branches and tags, en n'autorisant quemain. - Créez une branche
feature/test-envet poussez-y une modification triviale (un commentaire ajouté au workflow, par exemple). - Depuis cette branche, tentez de déclencher le workflow
Environment demoviaworkflow_dispatchen sélectionnantfeature/test-envcomme référence. - Observez : le job échoue à démarrer, avec un message indiquant que la branche n'est pas autorisée à déployer sur cet Environment.
Si vous comptez réutiliser cet Environment demo pour autre chose par la suite, retirez maintenant la restriction de branche et/ou le reviewer requis — les modules suivants ne les réutilisent pas, mais autant ne pas laisser votre repo dans un état plus verrouillé que nécessaire sans vous en souvenir.
Pourquoi cette gouvernance compte
Sans règle de protection, un Environment n'est qu'un espace de nommage pour des secrets — utile pour le scoping (module 2), mais sans garde-fou. Avec des reviewers requis et une restriction de branche, vous obtenez une vraie porte de contrôle : personne ne déploie en production depuis une branche non validée, ou sans qu'une personne désignée l'ait explicitement approuvé. C'est ce mécanisme, plus que le scoping de secrets, qui justifie l'essentiel de l'intérêt des Environments — et son coût de configuration (module suivant).
Ce que vous venez de faire
Vous avez configuré et observé, avec de vraies exécutions bloquées puis débloquées, les deux mécanismes de gouvernance les plus utilisés : l'approbation humaine requise et la restriction de branche. Le module suivant prend du recul pour peser objectivement les bénéfices de tout ça face à sa complexité et à son coût réel.
Vérifiez votre compréhension
Combien de personnes/équipes peut-on désigner comme reviewers requis sur un Environment, et combien doivent approuver pour débloquer le job ?
Que fait le « wait timer » (délai d'attente) d'un Environment ?
Une règle de restriction de branches de déploiement empêchant tout sauf `main` a été configurée sur l'Environment `production`. Un workflow déclenché depuis une branche `feature/x` référence `environment: production`. Que se passe-t-il ?
Qui peut, par défaut, contourner (bypass) les règles de protection d'un Environment ?
Envie d'être prévenu des prochains modules ?
L'Académie reste gratuite et en accès libre, sans inscription. Si vous voulez juste être averti par email à la sortie d'un nouveau module, c'est ici — aucune obligation, désinscription en un clic.