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 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.
Rôles de compte de service requis
Pour créer des compilations et obtenir leur état à partir de Cloud Build, attribuez les
rôles IAM (Identity and Access Management) suivants à l'agent de service Secure Source Manager (service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com) :
- 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 Utilisateur de l'API Service Usage
(
roles/serviceusage.serviceUsageConsumer) sur le projet Cloud Build. - Si les compilations s'exécutent dans des pools de nœuds de calcul, attribuez au
compte de service Secure Source Manager le
rôle Utilisateur de pool de nœuds de calcul Cloud Build
(
roles/cloudbuild.workerPoolUser) sur le projet Cloud Build.
Pour autoriser Cloud Build à lire votre dépôt Secure Source Manager, attribuez 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.
Selon 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 en savoir plus sur l'attribution de 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 compiler.
Pour créer un fichier de configuration de compilation, procédez comme suit :
- Dans l'interface Web de 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 en savoir plus sur la création de 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 de 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_VALUERemplacez les éléments suivants :
TRIGGER_NAMEpar un nom pour votre déclencheur. Les noms de déclencheurs ne peuvent contenir que des caractères alphanumériques et des tirets, et ne peuvent pas commencer ni se terminer par un tiret. Les noms de déclencheurs doivent comporter moins de 64 caractères.PROJECT_IDpar l'ID du Google Cloud projet 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_PATHpar le chemin d'accès au fichier de configuration de compilation Cloud Build que vous souhaitez utiliser pour ce déclencheur. Ce champ est facultatif. La valeur par défaut est.cloudbuild/cloudbuild.yaml.EVENT_TYPEpar le type d'événement que vous souhaitez déclencher pour la compilation. Vous disposez des options suivantes :pushpour déclencher une action lors d'un push vers la ou les branches spécifiéespull_requestpour déclencher une action lors d'une demande d'extraction vers la ou les branches spécifiées
Ce champ est facultatif. La valeur par défaut est
push.INCLUDED_GIT_REFSpar un format d'expression régulière RE2 facultatif correspondant aux références Git que vous souhaitez déclencher pour une compilation. La valeur par défaut est vide. Une valeur vide indique qu'il n'y a aucune restriction.IGNORED_GIT_REFSpar une expression régulière facultative au format d'expression régulière RE2 correspondant aux références Git que vous ne souhaitez pas déclencher pour une compilation. La valeur par défaut est vide. Une valeur vide indique qu'il n'y a aucune restriction. Le champignoredGitRefsest vérifié avant le champincludedGitRefs. Pour en savoir plus sur ces champs, consultez Schéma du fichier de déclencheurs.SERVICE_ACCOUNTpar 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_FILESpar une expression régulière au format RE2 facultative correspondant aux fichiers que vous souhaitez déclencher pour une compilation.Si l'un des fichiers modifiés ne correspond pas au champ de filtre
ignoredFileset que les fichiers modifiés correspondent 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_FILESpar une expression régulière au format RE2 facultative correspondant aux fichiers que vous ne souhaitez pas déclencher pour une 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_BOOLpartruepour désactiver le déclencheur ou parfalsepour l'activer. Ce champ est facultatif. La valeur par défaut estfalse.VARIABLE_NAMEpar le nom d'une variable que vous souhaitez introduire dans votre fichier de déclencheurs.VARIABLE_VALUEpar la valeur de la variable.OVERRIDE_VARIABLE_NAMEpar 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 Substitutions de Schéma du fichier de déclencheurs.OVERRIDE_VARIABLE_VALUEpar 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 des déclencheurs 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 pour les types d'événements suivants :
- Pour les événements
push, Secure Source Manager lit le SHA de commit ou la référence Git une fois le push 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 de la compilation
Lorsqu'une compilation est déclenchée par un événement de push ou de demande d'extraction, l'état du commit et de la compilation s'affiche dans l'interface Web de Secure Source Manager.
Les valeurs possibles pour l'état de la compilation sont les suivantes :
SUCCESS : la compilation a été effectuée avec succès.
WARNING : un problème s'est produit lors de la tentative de compilation.
FAILURE : la compilation a échoué lors de l'exécution.
Vous pouvez empêcher la fusion des commits avec des compilations infructueuses dans des branches importantes si vous configurez une règle de protection de branche pour exiger une vérification d'é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 la compilation pour un événement de push :
Dans l'interface Web de Secure Source Manager, accédez à votre dépôt.
Si l'événement de push le plus récent a déclenché une compilation, l'état s'affiche à côté du SHA de commit. Pour afficher les détails de cet état, cliquez dessus.
Pour afficher l'état de la compilation pour les 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 :
- Dans l'interface Web de 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, une section intitulée soit Toutes les vérifications ont réussi, soit 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.
Étape suivante
- Découvrez comment afficher les résultats de la compilation dans Cloud Build.
- Découvrez comment résoudre les erreurs de compilation.