Se connecter à Cloud Build

Cette page explique comment appeler des compilations automatiquement à partir de Secure Source Manager à l'aide de fichiers de configuration Cloud Build et d'un fichier YAML de déclencheurs dans votre dépôt Secure Source Manager.

Avant de commencer

  1. Créez une instance Secure Source Manager.
  2. Créez un dépôt Secure Source Manager.
  3. 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 :

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 :

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 :

  1. Dans l'interface Web Secure Source Manager, sélectionnez le dépôt que vous souhaitez connecter à Cloud Build.
  2. Sélectionnez la branche à partir de laquelle vous souhaitez compiler à l'aide de Cloud Build.
  3. 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.

  4. 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 :

  1. Dans votre dépôt local ou dans l'interface Web Secure Source Manager, passez à la branche par défaut.
  2. Créez un fichier nommé .cloudbuild/triggers.yaml.

  3. 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ées
      • pull_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 champ ignoredGitRefs est vérifié avant le champ includedGitRefs. 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 format projects/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 filtre includedFiles, 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 avec true pour désactiver le déclencheur ou false pour l'activer. Ce champ est facultatif. La valeur par défaut est false.

    • 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.

  4. 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.

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 :

  • successSUCCESS : la compilation a réussi.
  • avertissementAVERTISSEMENT : un problème est survenu lors de la tentative de compilation.
  • échecÉ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 :

  1. 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.

  2. 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 :

  1. Dans l'interface Web Secure Source Manager, cliquez sur Demandes d'extraction.
  2. 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