Cette page explique comment configurer la protection des branches pour les dépôts Secure Source Manager.
La protection des branches permet aux administrateurs de dépôts de définir des règles pour contrôler qui peut apporter des modifications aux branches, qui doit approuver ou examiner les modifications, et quelles conditions doivent être remplies avant qu'une modification approuvée puisse être fusionnée dans une branche.
Pour en savoir plus sur les règles de protection des branches, consultez la présentation de la protection des branches.
Avant de commencer
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer des règles de protection des branches pour un dépôt Secure Source Manager, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Accesseur d'instances Secure Source Manager (
roles/securesourcemanager.instanceAccessor) sur l'instance Secure Source Manager -
Administrateur de dépôts Secure Source Manager (
roles/securesourcemanager.repoAdmin) sur le dépôt Secure Source Manager -
Pour approuver les requêtes d'extraction sur les branches protégées dans n'importe quel dépôt d'une instance Secure Source Manager :
-
Approbateur de demande d'extraction du dépôt Secure Source Manager (
roles/securesourcemanager.repoPullRequestApprover) sur le Google Cloud projet de l'instance -
Rédacteur de dépôts Secure Source Manager (
roles/securesourcemanager.repoWriter) sur le Google Cloud projet de l'instance
-
Approbateur de demande d'extraction du dépôt Secure Source Manager (
-
Pour approuver les requêtes d'extraction sur les branches protégées dans un seul dépôt :
-
Approbateur de demande d'extraction du dépôt Secure Source Manager (
roles/securesourcemanager.repoPullRequestApprover) sur le dépôt -
Rédacteur de dépôts Secure Source Manager (
roles/securesourcemanager.repoWriter) sur le dépôt
-
Approbateur de demande d'extraction du dépôt Secure Source Manager (
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus sur l'attribution de rôles Secure Source Manager, consultez Contrôle des accès avec IAM et Accorder aux utilisateurs l'accès à une instance.
Créer une règle de protection des branches
Console
Pour créer une règle de protection des branches, procédez comme suit :
- Dans l'interface Web de Secure Source Manager, sélectionnez le dépôt que vous souhaitez protéger avec une règle de protection des branches.
- Sur la page du dépôt, cliquez sur Settings (Paramètres).
- Cliquez sur l'onglet Branch rule (Règle de branche).
- Cliquez sur Add branch rule (Ajouter une règle de branche).
Dans le champ Branch rule ID (ID de la règle de branche), saisissez un nom pour la règle de branche.
Les ID de règle de branche ne peuvent contenir que des lettres minuscules, des chiffres et des traits d'union. Le premier caractère doit être une lettre, et le dernier caractère doit être une lettre ou un chiffre. Les ID de règle de branche ne peuvent pas dépasser 63 caractères.
Dans le champ Branch filter (Filtre de branche), saisissez le nom de la branche à laquelle vous souhaitez appliquer la règle. Si vous souhaitez que la règle s'applique à toutes les branches, saisissez
.*. La correspondance complète des expressions régulières n'est pas acceptée.Les filtres de règle de branche activés doivent être uniques à leur dépôt. Les utilisateurs peuvent avoir plusieurs filtres de règle de branche désactivés. Par exemple, vous ne pouvez pas avoir deux règles de branche activées dans un seul dépôt avec le filtre de branche
main.Lorsque plusieurs règles s'appliquent à une branche, la règle de branche avec un nom de branche spécifique comme filtre de branche remplace la règle générique. Par exemple, une règle de branche avec le filtre de branche
mainremplace une règle de branche avec le filtre de branche.*. Les règles ne sont pas combinées.Dans la section Branch protection rule details (Détails de la règle de protection des branches), spécifiez les exigences de votre règle de branche parmi les options suivantes :
Require a pull request before merging (Exiger une requête d'extraction avant la fusion) : si cette option est activée, les commits directs dans la branche seront bloqués. Une demande d'extraction doit être ouverte avant la fusion dans la branche protégée.
Required number of reviewers (Nombre d'examinateurs requis) : spécifiez le nombre d' examinateurs requis pour approuver la fusion de la demande d'extraction.
Required number of approvers (Nombre d'approbateurs requis) : spécifiez le nombre d' approbateurs requis pour approuver la fusion de la demande d'extraction.
Les examinateurs et les approbateurs sont des utilisateurs disposant de rôles IAM spécifiques. Pour savoir quels rôles sont requis pour les examinateurs et les approbateurs, consultez la présentation de la protection des branches.
Block merge on stale reviews and approvals (Bloquer la fusion en cas d'examens et d'approbations obsolètes) : si cette option est activée, un examen ou une approbation est supprimé si de nouveaux commits sont envoyés à la demande d'extraction après l'octroi de l'examen ou de l'approbation.
Require conversation resolution before merging (Exiger la résolution de la conversation avant la fusion) : si cette option est activée, tous les commentaires de code et les examens de modification de requête doivent être résolus avant la fusion.
Require linear history (Exiger un historique linéaire) : si cette option est activée, les requêtes d'extraction qui créeraient un historique Git non linéaire ne peuvent pas être fusionnées.
Require status checks (Exiger des vérifications d'état) : si cette option est activée, les vérifications d'état de compilation sélectionnées doivent réussir avant qu'une demande d'extraction puisse être fusionnée. Vous devez configurer des déclencheurs dans votre fichier de déclencheurs avant de pouvoir les sélectionner comme vérifications d’état pour la protection des branches.
Pour enregistrer la règle de branche, cliquez sur Submit (Envoyer).
L'onglet Branch rules (Règles de branche) s'affiche, avec votre nouvelle règle de branche.
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la Terraform documentation de référence du fournisseur.
Pour créer une règle de protection des branches avec Terraform, utilisez lagoogle_secure_source_manager_branch_rule
ressource.
L'exemple de configuration suivant crée une règle de protection des branches pour la branche main.
Avant d'utiliser l'exemple, remplacez les éléments suivants :
- BRANCH_RULE_ID : ID de la règle de protection des branches.
- PROJECT_ID : ID du projet.
- LOCATION : emplacement du dépôt.
- REPOSITORY_ID : ID du dépôt.
- BRANCH_NAME_PATTERN : nom de la branche ou modèle d'expression régulière, tel que
main.
resource "google_secure_source_manager_branch_rule" "default" {
branch_rule_id = "BRANCH_RULE_ID"
project = "PROJECT_ID"
location = "LOCATION"
repository_id = "REPOSITORY_ID"
include_pattern = "BRANCH_NAME_PATTERN"
minimum_approvals_count = 2
minimum_reviews_count = 2
require_comments_resolved = true
require_linear_history = true
require_pull_request = true
disabled = false
allow_stale_reviews = false
}
Modifier une règle de protection des branches
Pour modifier une règle de protection des branches, procédez comme suit :
- Dans l'interface Web de Secure Source Manager, sélectionnez le dépôt contenant la règle de protection des branches que vous souhaitez modifier.
- Sur la page du dépôt, cliquez sur Settings (Paramètres).
- Cliquez sur l'onglet Branch rules (Règles de branche).
- Cliquez sur le nom de la règle de branche que vous souhaitez modifier.
- Modifiez la règle de protection des branches.
- Cliquez sur Update (Mettre à jour).
La règle de protection des branches est mise à jour.
Supprimer une règle de protection des branches
Pour supprimer une règle de protection des branches, procédez comme suit :
- Dans l'interface Web de Secure Source Manager, sélectionnez le dépôt dont vous souhaitez supprimer la règle de branche.
- Sur la page du dépôt, cliquez sur Settings (Paramètres).
- Cliquez sur l'onglet Branch rule (Règle de branche).
- Dans la ligne de la règle que vous souhaitez supprimer, cliquez sur l'icône Delete
. - Dans l'écran de confirmation Remove branch rule (Supprimer la règle de branche), cliquez sur Yes (Oui).
La règle de protection des branches est supprimée.
Étape suivante
- Consultez la présentation de la protection des branches.
- Découvrez comment automatiser les compilations en suivant les étapes décrites dans Se connecter à Cloud Build.
- Découvrez comment vérifier l'état des compilations automatisées.