Stocker et gérer les journaux de compilation

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Lorsque vous exécutez des compilations, Cloud Build collecte et stocke vos journaux de compilation. Cette page explique comment stocker, afficher et supprimer des journaux de compilation.

Choisir où stocker les journaux de compilation

Vous pouvez configurer Cloud Build pour stocker les journaux de compilation dans Cloud Logging ou dans Cloud Storage en incluant le champ logging dans votre fichier de configuration Cloud Build. Si vous ne spécifiez pas de champ logging dans votre fichier de configuration de compilation, Cloud Build stocke les journaux de compilation à la fois dans Logging et Cloud Storage.

Les étapes suivantes ne stockent les journaux de compilation que dans Logging:

  1. Dans votre fichier de configuration de compilation, définissez la valeur logging sur CLOUD_LOGGING_ONLY:

    YAML

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: ['build', '-t', 'gcr.io/myproject/myimage', '.']
    options:
      logging: CLOUD_LOGGING_ONLY
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/cloud-builders/docker",
        "args": [
          "build",
          "-t",
          "gcr.io/myproject/myimage",
          "."
        ]
      }
      ],
      "options": {
        "logging": "CLOUD_LOGGING_ONLY"
      }
    }
    
  2. Utilisez le fichier de configuration de compilation pour démarrer une compilation à l'aide de la ligne de commande, de l'API ou des déclencheurs.

Stocker les journaux de compilation dans le bucket par défaut créé par Google

Par défaut, Cloud Build stocke vos journaux de compilation dans un bucket Cloud Storage créé par Google. Vous pouvez afficher les journaux de compilation stockés dans le bucket Cloud Storage créé par Google, mais vous ne pouvez pas y apporter d'autres modifications. Si vous avez besoin d'exercer un contrôle total sur votre bucket de journaux, stockez-les dans un bucket Cloud Storage créé par l'utilisateur.

Stocker les journaux de compilation dans un bucket créé par l'utilisateur

Autorisations IAM :

Pour stocker les journaux de compilation dans votre propre bucket Cloud Storage, vous devez d'abord accorder les autorisations IAM nécessaires au compte de service Cloud Build ou au compte de service spécifié par l'utilisateur:

  • Si votre bucket Cloud Storage et Cloud Build se trouvent dans le même projet Cloud et que vous utilisez le compte de service Cloud Build, votre compte de service Cloud Build dispose par défaut des autorisations IAM nécessaires. Aucune autorisation supplémentaire n'est requise.

  • Si votre bucket Cloud Storage et Cloud Build se trouvent dans le même projet Cloud et que vous utilisez unCompte de service spécifié par l'utilisateur, accordez le rôleAdministrateur de l'espace de stockage au compte de service. Pour savoir comment attribuer un rôle à un compte de service, consultez la page Attribuer des rôles au projet.

  • Si votre bucket Cloud Storage et Cloud Build se trouvent dans des projets Cloud différents, attribuez le rôle Administrateur de l'espace de stockage au compte de service Cloud Build :

    1. Ouvrez la page "IAM" :

      Ouvrir la page IAM

    2. Sélectionnez le projet dans lequel vous exécutez des compilations à l'aide de Cloud Build.

    3. Dans le tableau des autorisations, recherchez et notez l'adresse e-mail se terminant par @cloudbuild.gserviceaccount.com. Il s'agit du compte de service Cloud Build.

    4. Ouvrez la page "IAM" du projet dans lequel se trouve votre bucket Cloud Storage :

      Ouvrir la page IAM

    5. Cliquez sur Accorder l'accès.

    6. Saisissez l'adresse e-mail du compte de service Cloud Build.

    7. Sélectionnez Cloud Storage > Administrateur de l'espace de stockage.

    8. Cliquez sur Enregistrer.

Pour spécifier un bucket Cloud Storage où stocker les journaux de compilation, suivez les étapes suivantes :

  1. Dans votre projet Cloud, créez un bucket Cloud Storage en vue d'y stocker vos journaux de compilation.

  2. Dans votre fichier de configuration de compilation, ajoutez un champ logsBucket pointant vers le bucket Cloud Storage que vous avez créé pour stocker les journaux de compilation. Voici un exemple de fichier de configuration de compilation contenant des instructions pour créer une image de conteneur et stocker les journaux de compilation dans le bucket nommé mylogsbucket :

    YAML

        steps:
        - name: 'gcr.io/cloud-builders/docker'
          args: [ 'build', '-t', 'gcr.io/myproject/myimage', '.' ]
        logsBucket: 'gs://mylogsbucket'
        options:
          logging: GCS_ONLY
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "gcr.io/myproject/myimage",
               "."
             ]
           }
           ],
           "logsBucket": "gs://mylogsbucket",
           "options": {
             "logging": "GCS_ONLY"
           }
        }
    
  3. Utilisez le fichier de configuration de compilation pour démarrer une compilation à l'aide de la ligne de commande, de l'API ou des déclencheurs.

Une fois la compilation terminée, Cloud Build stockera les journaux dans le bucket Cloud Storage que vous avez spécifié dans le fichier de configuration de compilation.

Afficher des journaux de compilation

Autorisations IAM :

  • Si vos journaux de compilation se trouvent dans Logging, attribuez le rôle Lecteur de journaux au projet sur lequel la compilation est configurée pour les comptes principaux qui souhaitent afficher les journaux de compilation:

    1. Ouvrez la page "IAM" :

      Ouvrir la page IAM

    2. Sélectionnez votre projet et cliquez sur Ouvrir.

    3. Dans le tableau des autorisations, recherchez l'ID de l'adresse e-mail du compte principal et cliquez sur l'icône en forme de crayon.

    4. Sélectionnez le rôle Logging > Lecteur de journaux.

    5. Cliquez sur Enregistrer.

  • Si vos journaux de compilation se trouvent dans le bucket Cloud Storage par défaut créé par Google, accordez le rôle Lecteur de projet au projet sur lequel la compilation est configurée pour les comptes principaux qui souhaitent afficher les journaux de compilation :

    1. Ouvrez la page "IAM" :

      Ouvrir la page IAM

    2. Sélectionnez votre projet et cliquez sur Ouvrir.

    3. Dans le tableau des autorisations, recherchez l'ID de l'adresse e-mail du compte principal et cliquez sur l'icône en forme de crayon.

    4. Sélectionnez le rôle Projet > Lecteur.

    5. Cliquez sur Enregistrer.

    Si vos journaux de compilation se trouvent dans un bucket Cloud Storage spécifié par l'utilisateur, attribuez le rôle Lecteur des objets de l'espace de stockage aux comptes principaux qui souhaitent les consulter.

    1. Ouvrez la page "IAM" :

      Ouvrir la page IAM

    2. Sélectionnez votre projet et cliquez sur Ouvrir.

    3. Dans le tableau des autorisations, recherchez l'ID de l'adresse e-mail du compte principal et cliquez sur l'icône en forme de crayon.

    4. Sélectionnez le rôle Cloud Storage > Lecteur des objets de l'espace de stockage.

    5. Cliquez sur Enregistrer.

Pour afficher les journaux de compilation dans Cloud Build:

Console

  1. Ouvrez la page Cloud Build dans Google Cloud Console.

    Ouvrir la page Cloud Build

  2. Sélectionnez votre projet et cliquez sur Ouvrir.

  3. Dans le menu déroulant Région, sélectionnez la région de votre build.

  4. Sur la page Historique de compilation, cliquez sur une compilation spécifique.

  5. Sur la page Informations sur le build, sous Steps (Étapes), cliquez sur Build Summary (Résumé de la compilation) pour afficher tout le journal de la compilation ou cliquez sur une étape spécifique de compilation pour consulter son journal.

    Capture d'écran des journaux de compilation sur la page "Informations sur le build".

  6. Si vos journaux sont stockés dans Logging, dans le panneau Journaux de compilation, cliquez sur l'icône pour les afficher dans l'explorateur de journaux.

    Capture d'écran des journaux de compilation dans l'explorateur de journaux.

gcloud

Exécutez la commande gcloud builds log, où build-id est l'ID de la compilation pour laquelle vous souhaitez obtenir des journaux de compilation. L'ID de compilation s'affiche à la fin du processus lorsqu'une demande de compilation est envoyée à l'aide de la commande gcloud builds submit, ou dans la colonne ID lorsque vous exécutez la commande gcloud builds list.

gcloud builds log build-id

Pour afficher les journaux de compilation dans GitHub et GitHub Enterprise :

Si vous créez un déclencheur GitHub ou GitHub Enterprise et que vous avez spécifié l'option --include-logs-with-status, vous pouvez afficher vos journaux de compilation dans GitHub et GitHub Enterprise.

Pour afficher les journaux de compilation dans GitHub et GitHub Enterprise:

  1. Accédez au dépôt associé à votre déclencheur.

  2. Accédez à votre liste de commits.

  3. Recherchez la ligne du commit pour lequel vous souhaitez afficher les journaux de compilation.

  4. Cliquez sur l'icône de résultat sur la ligne de votre commit.

    La liste des vérifications associées à votre commit s'affiche.

  5. Cliquez sur Détails pour la ligne pour laquelle vous souhaitez afficher les journaux de compilation.

    La page Récapitulatif associée à votre commit s'affiche. Si vous avez créé un déclencheur à l'aide de l'option --include-logs-with-status, vos journaux de compilation s'affichent dans la section Détails de la page.

Supprimer des journaux de compilation

Vous ne pouvez pas supprimer les journaux de compilation dans le bucket de journaux créé par Google.

Pour supprimer des journaux de compilation dans un bucket de journaux créé par l'utilisateur, procédez comme suit :

  1. Attribuez le rôle Administrateur des objets de l'espace de stockage à l'utilisateur ou au compte de service qui supprime les journaux.

  2. Supprimez les journaux de compilation en suivant les instructions de suppression des objets Cloud Storage de la section Supprimer des objets.

Pour supprimer le bucket de journaux créé par l'utilisateur, procédez comme suit :

  1. Attribuez le rôle Administrateur de l'espace de stockage à l'utilisateur ou au compte de service qui supprime le bucket de journaux.

  2. Supprimez le bucket de journaux en suivant les instructions de suppression de bucket de la section Supprimer des buckets.

Étapes suivantes