Stocker et gérer les journaux de compilation

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 des journaux de compilation dans Cloud Logging ou dans Cloud Storage en incluant le champ logging dans votre fichier de configuration Cloud Build. (Installation de Python groupée). Si vous ne spécifiez pas de champ logging dans votre fichier de configuration de compilation, Cloud Build stocke les journaux de compilation dans Logging et Cloud Storage.

La procédure suivante permet de ne stocker les journaux de compilation que dans Logging:

  1. Dans votre fichier de configuration de compilation, définissez la valeur de loggingMode 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 des 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 service spécifié par l'utilisateur. compte:

  • 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, celui-ci 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 un compte de service spécifié par l'utilisateur , accordez laAdministrateur de l'espace de stockage rôle au compte de service Pour obtenir des instructions sur l'attribution d'un rôle à un compte de service, consultez la page Attribuer des rôles pour le 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 Ajouter.

    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'
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "gcr.io/myproject/myimage",
               "."
             ]
           }
           ],
           "logsBucket": "gs://mylogsbucket"
        }
    
  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 sont dans Logging, accordez le rôle de Lecteur de journaux pour le projet sur lequel le build est configuré pour les 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 d'adresse e-mail du compte principal et cliquez sur l'icône en forme de crayon.

    4. Sélectionnez 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, attribuez le rôle Lecteur de projet au projet sur lequel la compilation est configurée pour les 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 d'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 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 d'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 Save.

Pour afficher les journaux de compilation, procédez comme suit :

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. Sur la page Historique de compilation, cliquez sur une compilation spécifique.

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

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

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.

Étape suivante