Se connecter à Cloud Build

Cette page explique comment appeler automatiquement des compilations à 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 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 :

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

  1. Dans l'interface Web de 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 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.

  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 de 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 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_ID par 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_PATH par 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_TYPE par le type d'événement que vous souhaitez déclencher pour la compilation. Vous disposez des options suivantes :

      • push pour déclencher une action lors d'un push vers la ou les branches spécifiées
      • pull_request pour 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_REFS par 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_REFS par 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 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 par 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 par 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 ignoredFiles et que les fichiers modifiés correspondent 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 par 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_BOOL par true pour désactiver le déclencheur ou par 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 Substitutions de Schéma du fichier de 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 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.

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 :

  • successSUCCESS : la compilation a été effectuée avec succès.
  • avertissementWARNING : un problème s'est produit lors de la tentative de compilation.
  • échecFAILURE : 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 :

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

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

  1. Dans l'interface Web de 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, 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