Avant de commencer
- Créez une instance Secure Source Manager.
- Créez un dépôt Secure Source Manager.
- Configurez un compte de service Cloud Build spécifié par l'utilisateur.
Rôles requis
Pour obtenir les autorisations nécessaires pour connecter un dépôt Secure Source Manager à Cloud Build, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Rédacteur de dépôts Secure Source Manager (
roles/securesourcemanager.repoWriter
) sur votre dépôt -
Accesseur d'instances Secure Source Manager (
roles/securesourcemanager.instanceAccessor
) sur l'instance 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 savoir comment accorder des rôles Secure Source Manager, consultez Contrôle des accès avec IAM et Accorder aux utilisateurs l'accès à l'instance.
Rôles de compte de service requis
Pour créer des compilations et obtenir leur état à partir de Cloud Build, accordez à l'agent de service Secure Source Manager (service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com
) les rôles IAM (Identity and Access Management) suivants :
- Rôle Éditeur Cloud Build (
roles/cloudbuild.builds.editor
) sur le projet dans lequel vous avez activé Cloud Build. - Rôle Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service Cloud Build ou sur le projet avec lequel le compte de service Cloud Build a été créé. - Si le projet dans lequel vous avez activé Cloud Build est différent de celui dans lequel Secure Source Manager est activé, attribuez le rôle Consommateur d'utilisation du service (
roles/serviceusage.serviceUsageConsumer
) au projet Cloud Build. - Si les compilations s'exécutent dans des pools de nœuds de calcul, attribuez le rôle Utilisateur de pool de nœuds de calcul Cloud Build (
roles/cloudbuild.workerPoolUser
) au compte de service Secure Source Manager dans le projet Cloud Build.
Pour permettre à Cloud Build de lire votre dépôt Secure Source Manager, accordez les rôles IAM suivants au compte de service Cloud Build :
- Rôle Accesseur d'instances Secure Source Manager (
roles/securesourcemanager.instanceAccessor
) sur l'instance Secure Source Manager. - Rôle Lecteur de dépôts Secure Source Manager sur le dépôt Secure Source Manager que vous souhaitez connecter à Cloud Build.
En fonction de votre cas d'utilisation, le compte de service Cloud Build peut avoir besoin de rôles IAM supplémentaires pour exécuter des compilations, par exemple :
- Pour stocker des journaux de compilation dans Cloud Logging, attribuez le rôle Rédacteur de journaux au compte de service Cloud Build.
- Pour accéder aux secrets dans Secret Manager, attribuez le rôle Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor
) au compte de service Cloud Build.
Pour savoir comment attribuer des rôles IAM à un agent de service, consultez Attribuer ou révoquer un rôle unique.
Pour en savoir plus sur les journaux de compilation, consultez Configurer les journaux de compilation.
Créer un fichier de configuration de compilation
Un fichier de configuration de compilation définit les champs nécessaires pour que Cloud Build puisse effectuer vos tâches de compilation. Vous pouvez écrire le fichier de configuration de compilation en utilisant la syntaxe YAML.
Vous pouvez créer des fichiers de configuration de compilation dans la ou les branches à partir desquelles vous souhaitez effectuer la compilation.
Pour créer un fichier de configuration de compilation, procédez comme suit :
- Dans l'interface Web Secure Source Manager, sélectionnez le dépôt que vous souhaitez connecter à Cloud Build.
- Sélectionnez la branche à partir de laquelle vous souhaitez compiler à l'aide de Cloud Build.
Créez un fichier de configuration de compilation. Pour savoir comment créer des fichiers de configuration de compilation, suivez les instructions de la section Créer un fichier de configuration de compilation.
Validez vos modifications dans la branche.
Créer un fichier de déclencheurs
Le fichier de configuration des déclencheurs doit être créé dans la branche par défaut de votre dépôt.
Pour créer un fichier de configuration des déclencheurs :
- Dans votre dépôt local ou dans l'interface Web Secure Source Manager, passez à la branche par défaut.
Créez un fichier nommé
.cloudbuild/triggers.yaml
.Configurez votre déclencheur dans le fichier
.cloudbuild/triggers.yaml
:triggers: - name: TRIGGER_NAME project: PROJECT_ID configFilePath: CLOUD_BUILD_CONFIG_PATH eventType: EVENT_TYPE ignoredGitRefs: IGNORED_GIT_REFS includedGitRefs: INCLUDED_GIT_REFS serviceAccount: SERVICE_ACCOUNT includedFiles: INCLUDED_FILES ignoredFiles: IGNORED_FILES disabled: DISABLED_BOOL substitutions: _VARIABLE_NAME: VARIABLE_VALUE OVERRIDE_VARIABLE_NAME: OVERRIDE_VARIABLE_VALUE
Remplacez les éléments suivants :
TRIGGER_NAME
par le nom de votre déclencheur. Les noms de déclencheurs ne peuvent contenir que des caractères alphanumériques et des tirets, et ne peuvent ni commencer ni se terminer par un tiret. Les noms de déclencheurs doivent comporter moins de 64 caractères.- Remplacez
PROJECT_ID
par l'ID du projet Google Cloud dans lequel vous avez activé Cloud Build. Ce champ est facultatif. La valeur par défaut est le projet Secure Source Manager. CLOUD_BUILD_CONFIG_PATH
avec le chemin d'accès au fichier de configuration Cloud Build que vous souhaitez utiliser pour ce déclencheur. Ce champ est facultatif. La valeur par défaut est.cloudbuild/cloudbuild.yaml
.EVENT_TYPE
avec le type d'événement que vous souhaitez déclencher pour la compilation. Voici les options disponibles :push
pour déclencher le push vers la ou les branches spécifiéespull_request
pour déclencher une demande d'extraction'extraction vers la ou les branches spécifiées
Ce champ est facultatif. La valeur par défaut est
push
.INCLUDED_GIT_REFS
avec un format d'expression régulière RE2 facultatif correspondant aux références Git que vous souhaitez utiliser pour déclencher une compilation. La valeur par défaut est vide. Une valeur vide indique qu'il n'y a aucune restriction.IGNORED_GIT_REFS
avec une expression régulière facultative utilisant le format d'expression régulière RE2 correspondant aux références Git pour lesquelles vous ne souhaitez pas déclencher de compilation. La valeur par défaut est vide. Une valeur vide indique qu'il n'y a aucune restriction. Le champignoredGitRefs
est vérifié avant le champincludedGitRefs
. Pour en savoir plus sur ces champs, consultez Schéma du fichier de déclencheurs.SERVICE_ACCOUNT
avec le compte de service Cloud Build à utiliser pour la compilation au formatprojects/PROJECT_ID/serviceAccounts/ACCOUNT
. Remplacez ACCOUNT par l'adresse e-mail ou l'ID unique du compte de service. Nous vous recommandons de configurer un compte de service spécifié par l'utilisateur. L'ancien compte de service Cloud Build ne peut pas être utilisé en raison de ses limites.INCLUDED_FILES
avec une expression régulière au format RE2 facultative correspondant aux fichiers pour lesquels vous souhaitez déclencher une compilation.Si l'un des fichiers modifiés ne correspond pas au champ de filtre
ignoredFiles
, mais correspond au champ de filtreincludedFiles
, une compilation est déclenchée. La valeur par défaut est vide. Une valeur vide indique qu'il n'y a aucune restriction.IGNORED_FILES
avec une expression régulière au format RE2 facultative correspondant aux fichiers pour lesquels vous ne souhaitez pas déclencher de compilation.Si tous les fichiers modifiés d'un commit correspondent à ce champ de filtre, aucune compilation n'est déclenchée. La valeur par défaut est vide. Une valeur vide indique qu'il n'y a aucune restriction.
DISABLED_BOOL
avectrue
pour désactiver le déclencheur oufalse
pour l'activer. Ce champ est facultatif. La valeur par défaut estfalse
.VARIABLE_NAME
par le nom d'une variable que vous souhaitez introduire dans votre fichier de déclencheurs.VARIABLE_VALUE
par la valeur de la variable.OVERRIDE_VARIABLE_NAME
par le nom de la variable de substitution par défaut de Secure Source Manager. Pour en savoir plus sur les variables de substitution par défaut disponibles, consultez la section sur les substitutions du schéma de fichier des déclencheurs.OVERRIDE_VARIABLE_VALUE
par la valeur que vous souhaitez utiliser pour remplacer la valeur par défaut de la variable de substitution par défaut.
Validez le fichier de configuration du déclencheur dans votre branche par défaut.
Une fois le fichier de déclencheurs validé, Secure Source Manager déclenche des compilations en fonction de la configuration de votre fichier de déclencheurs.
Secure Source Manager lit les fichiers de configuration et le SHA de commit ou la référence Git associés des types d'événements suivants :
- Pour les événements
push
, Secure Source Manager lit le SHA du commit ou la référence Git lorsque le push est terminé. - Pour les événements
pull_request
, Secure Source Manager lit le SHA de commit ou la référence Git lorsque les modifications de la demande d'extraction sont extraites.
- Pour les événements
Afficher l'état du build
Lorsqu'une compilation est déclenchée par un événement de requête push ou pull, l'état du commit et de la compilation s'affiche dans l'interface Web Secure Source Manager.
Voici les valeurs possibles pour l'état de compilation :
SUCCESS : la compilation a réussi.
AVERTISSEMENT : un problème est survenu lors de la tentative de compilation.
ÉCHEC : le build a échoué lors de l'exécution.
Vous pouvez empêcher la fusion de commits avec des compilations infructueuses dans des branches importantes si vous configurez une règle de protection des branches pour exiger une vérification de l'état réussie à partir des déclencheurs configurés dans votre fichier de déclencheurs. Pour en savoir plus sur la protection des branches, consultez la présentation de la protection des branches.
Pour afficher l'état de compilation d'un événement push :
Dans l'interface Web Secure Source Manager, accédez à votre dépôt.
Si l'événement push le plus récent a déclenché une compilation, l'état s'affiche à côté du SHA du commit. Pour afficher les détails de cet état, cliquez dessus.
Pour afficher l'état de compilation des commits précédents, sélectionnez Commits pour afficher l'historique des commits, puis cliquez sur l'état dont vous souhaitez afficher les détails.
Pour afficher l'état de la compilation pour un événement de demande d'extraction d'extraction :
- Dans l'interface Web Secure Source Manager, cliquez sur Demandes d'extraction.
Cliquez sur la demande d'extraction que vous souhaitez afficher.
Si des compilations ont été déclenchées par la demande d'extraction;extraction, une section intitulée Toutes les vérifications ont réussi ou Certaines vérifications ont signalé des avertissements s'affiche.
Résoudre les problèmes
Pour connaître les méthodes de diagnostic et de résolution des erreurs Cloud Build lors de la connexion à Secure Source Manager, consultez Le fichier de déclencheurs ne déclenche pas la compilation.
Étapes suivantes
- Découvrez comment afficher les résultats de compilation dans Cloud Build.
- Découvrez comment résoudre les erreurs de compilation.