Règles de protection du déploiement
Les règles de protection du déploiement nécessitent la validation de conditions spécifiques pour qu’un travail référençant l’environnement puisse continuer. Vous pouvez utiliser des règles de protection du déploiement pour exiger une approbation manuelle, retarder un travail ou restreindre l’environnement à certaines branches. Vous pouvez également créer et mettre en œuvre des règles de protection personnalisées alimentées par GitHub Apps afin d’utiliser des systèmes tiers pour contrôler les déploiements faisant référence aux environnements configurés sur GitHub.
Les systèmes tiers peuvent être des systèmes d’observabilité, des systèmes de gestion des modifications, des systèmes de qualité du code ou d’autres configurations manuelles que vous utilisez pour évaluer la préparation avant que les déploiements soient déployés en toute sécurité dans des environnements.
Remarque
Vous pouvez configurer n’importe quel nombre de règles de protection de déploiement basé sur GitHub Apps peuvent sur un dépôt. Toutefois, un maximum de 6 règles de protection de déploiement peuvent être activées un environnement donné à la fois.
Réviseurs obligatoires
Utilisez des réviseurs requis pour exiger qu’une personne ou équipe spécifique soit chargée d’approuver les travaux de workflow qui référencent l’environnement. Vous pouvez lister jusqu’à six utilisateurs ou équipes comme réviseurs. Les réviseurs doivent avoir au moins un accès en lecture au dépôt. Seul l’un des réviseurs requis doit approuver le travail pour qu’il continue.
Vous avez également la possibilité d’empêcher les auto-évaluations pour les déploiements dans des environnements protégés. Si vous activez ce paramètre, les utilisateurs qui lancent un déploiement ne pourront pas approuver la tâche de déploiement, même s’ils sont des réviseurs obligatoires. Cela garantit que les déploiements dans des environnements protégés sont toujours examinés par plusieurs personnes.
Pour plus d’informations sur les travaux de révision qui référencent un environnement avec des réviseurs requis, consultez Révision des déploiements.
Retardateur
Utilisez un minuteur d’attente pour retarder d’un certain temps un travail après son déclenchement. Le temps (en minutes) doit être un entier compris entre 0 et 43 200 (30 jours). Le temps d’attente ne sera pas comptabilisé dans votre temps facturable.
Branches et balises de déploiement
Utilisez les branches et les balises de déploiement pour limiter les branches et les balises pouvant être déployées dans l’environnement. Vous trouverez ci-dessous les options disponibles pour les branches de déploiement et les balises d’un environnement :
-
**Aucune restriction :** aucune restriction quant à la branche ou la balise pouvant être déployée dans l’environnement. -
**Branches protégées uniquement :** seules les branches avec des règles de protection de branche activées peuvent être déployées dans l’environnement. Si aucune règle de protection de branche n’est définie pour une branche dans le dépôt, toutes les branches peuvent être déployées. Pour plus d’informations sur les règles de protection de branche, consultez [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches).Remarque
Les workflows de déploiement déclenchés par des balises portant le même nom qu’une branche protégée et les fourches dont les branches correspondent au nom de la branche protégée ne peuvent pas être déployés dans l’environnement.
-
**Branches et balises sélectionnées :** seules les branches et les balises qui correspondent à vos modèles de nom spécifiés peuvent être déployées dans l’environnement.La règle de branche ou de balise de déploiement est comparée au
GITHUB_REFde l’exécution du workflow. Pour connaître les valeurs pour chaque déclencheur de workflowGITHUB_REF, consultez Événements qui déclenchent des flux de travail. Si vous spécifiezreleases/*comme règle pour une branche de déploiement ou une balise, seul unGITHUB_REFdont le nom commence parreleases/peut être déployé dans l’environnement. L'ajout d'une autre règle de branche pourrefs/pull/*/mergepermettrait également aux flux de travail déclenchés par des événementspull_requestde se déployer dans cet environnement. Les caractères génériques ne correspondent pas à/, pour faire correspondre les branches ou balises qui commencent parrelease/et contiennent une barre oblique unique supplémentaire, utilisezrelease/*/*. Pour plus d’informations sur les options de syntaxe des branches de déploiement, consultez la documentation RubyFile.fnmatch.
Autoriser les administrateurs à contourner les règles de protection configurées
Par défaut, les administrateurs peuvent contourner les règles de protection et forcer les déploiements vers des environnements spécifiques. Pour plus d’informations, consultez « Révision des déploiements ».
Vous pouvez également configurer des environnements pour interdire le contournement des règles de protection pour tous les déploiements dans l’environnement.
Règles de protection de déploiement personnalisées
Remarque
Les règles de protection de déploiement personnalisées sont actuellement en préversion publique et sont susceptibles d’être modifiées.
Vous pouvez activer vos propres règles de protection personnalisées pour contrôler les déploiements avec des services tiers. Par exemple, vous pouvez utiliser des services comme Datadog, Honeycomb et ServiceNow pour fournir des approbations automatisées pour les déploiements sur GitHub. Pour plus d’informations, consultez Création de règles de protection de déploiement personnalisées.
Une fois que les règles de protection de déploiement personnalisées ont été créées et installées sur un dépôt, vous pouvez activer la règle de protection de déploiement personnalisée pour n’importe quel environnement dans le dépôt. Pour plus d’informations sur la configuration et l’activation de règles de protection de déploiement personnalisées, consultez Configuration de règles de protection de déploiement personnalisées.
Secrets d’environnement
Les secrets stockés dans un environnement sont disponibles uniquement pour les travaux de workflow qui référencent l’environnement. Si l’environnement nécessite une approbation, un travail ne peut pas accéder aux secrets d’environnement tant que l’un des réviseurs requis ne l’approuve pas. Pour plus d’informations sur les secrets, consultez Secrets.
Remarque
Les workflows qui s’exécutent sur des exécuteurs auto-hébergés ne sont pas exécutés dans un conteneur isolé, même s’ils utilisent des environnements. Les secrets d’environnement doivent être traités avec le même niveau de sécurité que les secrets de dépôt et d’organisation. Pour plus d’informations, consultez « Informations de référence sur l’utilisation sécurisée ».
Variables d’environnement
Les variables stockées dans un environnement sont disponibles uniquement pour les travaux de workflow qui référencent l’environnement. Ces variables sont accessibles uniquement à l’aide du contexte vars. Pour plus d’informations, consultez « Stocker des informations dans des variables ».