Stocker et afficher les journaux de compilation

Configurez votre fichier de configuration de compilation pour stocker vos journaux de compilation dans des buckets de journaux. Vous pourrez ainsi les regrouper et les analyser à l'aide des outils Cloud Logging et Cloud Storage. La configuration du stockage de vos journaux de compilation vous permet de mieux contrôler le stockage et l'analyse de vos journaux. Si vous ne définissez pas les paramètres de stockage de vos journaux de compilation, Cloud Build les stocke dans un bucket appartenant à Google CloudGoogle avec moins d'options d'analyse.

Cette page explique comment stocker des journaux de compilation dans différents types de buckets, ainsi que comment afficher et supprimer les journaux stockés.

Avant de commencer

Assurez-vous de bien connaître les options du fichier de configuration de compilation pour configurer le stockage des journaux de compilation et l'impact de la propriété du bucket sur l'accessibilité des journaux. Pour en savoir plus, consultez Options de stockage des journaux de compilation.

Stocker des journaux de compilation dans des buckets créés par l'utilisateur

Les buckets créés par l'utilisateur vous offrent un meilleur contrôle sur la gestion et la configuration de vos buckets.

Stocker des journaux de compilation dans un bucket Cloud Logging créé par l'utilisateur

Les buckets Logging créés par l'utilisateur vous permettent d'ajuster la période de conservation des journaux de compilation stockés. Pour stocker vos journaux de compilation dans un bucket créé par l'utilisateur dans Logging, procédez comme suit :

Accorder des autorisations IAM :

Pour obtenir les autorisations nécessaires pour stocker des journaux de compilation dans un bucket Cloud Logging créé par l'utilisateur, demandez à votre administrateur de vous accorder le rôle IAM Rédacteur de configuration des journaux (roles/logging.configWriter) sur le compte ou le compte de service de votre projet. 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 via des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer le bucket Logging :

  1. Créez un bucket et définissez une valeur pour le champ Période de conservation.

  2. Créez un récepteur pour acheminer vos journaux de compilation vers votre nouveau bucket :

    1. Saisissez les informations suivantes pour le filtre d'inclusion de compilation de votre récepteur :

      logName = "projects/PROJECT_ID/logs/cloudbuild"
      

      Remplacez PROJECT_ID par l'ID du Google Cloud projet.

    2. (Facultatif) Pour empêcher l'envoi de vos journaux de compilation vers le bucket Logging par défaut, suivez l'exemple de la section Arrêter le stockage des entrées de journal dans des buckets de journaux.

Stocker des journaux de compilation dans un bucket Cloud Storage créé par l'utilisateur

Pour stocker vos journaux de compilation dans un bucket Cloud Storage créé par l'utilisateur, procédez comme suit :

Accorder des autorisations IAM :

Si votre bucket Cloud Storage et Cloud Build se trouvent dans le même Google Cloud projet et que vous utilisez l'ancien compte de service Cloud Build , votre ancien compte de service Cloud Build dispose par défaut des autorisations IAM nécessaires. Vous n'avez pas besoin d'accorder d'autorisations supplémentaires. Sinon, procédez comme suit :

Pour obtenir les autorisations nécessaires pour stocker des journaux de compilation dans un bucket Cloud Storage créé par l'utilisateur, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de l'espace de stockage (roles/storage.admin) sur le compte de service utilisé pour votre compilation. 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 via des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer le bucket Cloud Storage :

  1. Dans votre Google Cloud projet, créez un bucket Cloud Storage sans aucune règle de conservation définie pour 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', 'us-east1-docker.pkg.dev/myproject/myimage', '.' ]
        logsBucket: 'gs://mylogsbucket'
        options:
          logging: GCS_ONLY
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "us-east1-docker.pkg.dev/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 de compilation dans le bucket Cloud Storage que vous avez spécifié dans le fichier de configuration de compilation.

Stocker des journaux de compilation dans des buckets Cloud Storage spécifiques à une région

Vous pouvez configurer votre compilation pour que Cloud Build envoie les journaux de compilation vers un bucket Cloud Storage appartenant à l'utilisateur dans la même région que votre compilation. L'alignement des régions de votre compilation et de votre bucket de stockage des journaux de compilation peut vous aider à respecter les exigences de résidence des données.

Accorder des autorisations IAM :

Si votre bucket Cloud Storage et Cloud Build se trouvent dans le même Google Cloud projet et que vous utilisez l'ancien compte de service Cloud Build , ce compte de service dispose par défaut des autorisations IAM nécessaires. Vous n'avez pas besoin d'accorder d'autorisations supplémentaires. Sinon, procédez comme suit :

Pour obtenir les autorisations nécessaires pour stocker des journaux de compilation dans un bucket spécifique à une région et appartenant à l'utilisateur, demandez à votre administrateur de vous accorder leAdministrateur de l'espace de stockage (roles/storage.admin) rôle IAM sur le compte de service utilisé pour votre compilation. 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 via des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer le bucket Cloud Storage spécifique à une région :

  1. Dans votre fichier de configuration de compilation, ajoutez l'option defaultLogsBucketBehavior et définissez sa valeur sur REGIONAL_USER_OWNED_BUCKET :

    YAML

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'us-central1-docker.pkg.dev/myproject/myrepo/myimage', '.' ]
    options:
      defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
    

    JSON

    {
      "steps": [
        {
          "name": "gcr.io/cloud-builders/docker",
          "args": [
            "build",
            "-t",
            "us-central1-docker.pkg.dev/myproject/myrepo/myimage",
            "."
          ]
        }
        ],
        "options": {
          "defaultLogsBucketBehavior": "REGIONAL_USER_OWNED_BUCKET"
        }
    }
    
  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.

    Lorsque vous exécutez votre compilation, Cloud Build crée le nouveau bucket dans la région où vous exécutez votre compilation, puis stocke les journaux de compilation dans ce bucket. Les compilations ultérieures dans le même projet et la même région utiliseront le bucket existant tant que REGIONAL_USER_OWNED_BUCKET est actif. Ce bucket appartient à l'utilisateur. Vous pouvez donc le configurer comme s'il s'agissait d'un bucket créé par l'utilisateur.

    Si vous définissez l'option REGIONAL_USER_OWNED_BUCKET et créez des compilations dans plusieurs régions, Cloud Build crée un bucket Cloud Storage pour chaque région unique.

Vous pouvez également utiliser un bucket créé par l'utilisateur si vous devez aligner la région de votre compilation et le bucket de journaux. Dans ce cas, vous pouvez sélectionner un bucket créé par l'utilisateur existant qui se trouve dans la même région ou en créer un. Si vous souhaitez en créer un, suivez les étapes de la section Stocker des journaux de compilation dans des buckets créés par l'utilisateur et assurez-vous que votre bucket créé par l'utilisateur se trouve dans la même région que votre compilation.

Afficher les journaux de compilation

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

Accorder des autorisations IAM :

Pour obtenir les autorisations nécessaires pour afficher les journaux de compilation dans Cloud Storage ou Logging, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de service utilisé pour votre compilation :

  • Afficher les journaux de compilation dans un bucket Cloud Storage créé par l'utilisateur ou appartenant à l'utilisateur :
    • Lecteur des objets de l'espace de stockage (roles/storage.objectViewer) : comptes principaux qui souhaitent afficher les journaux de compilation
    • Accesseur de vues de journaux (roles/logging.viewAccessor) : comptes principaux qui souhaitent afficher les journaux de compilation
  • Afficher les journaux de compilation dans le bucket Cloud Storage par défaut : Lecteur (roles/viewer) : projet sur lequel la compilation est configurée
  • Afficher les journaux de compilation dans Logging: Lecteur de journaux (roles/logging.viewer) : comptes principaux qui souhaitent afficher les journaux de compilation

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 via des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher les journaux de compilation dans Google Cloud

Console

  1. Ouvrez la page Cloud Build dans la 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 compilation.

  4. Sur la page Historique de compilation, sélectionnez une compilation spécifique.

  5. Sur la page Informations sur le build, sous Étapes, cliquez Résumé de la compilation pour afficher tout le journal de la compilation ou sélectionnez une étape de compilation pour consulter son journal.

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

gcloud

Exécutez la gcloud builds log commande où build-id correspond à l'ID de la compilation dont vous souhaitez obtenir les journaux. 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

Afficher les journaux de compilation dans GitHub et GitHub Enterprise

Si vous créez un déclencheur GitHub ou GitHub Enterprise avec la gcloud CLI ou l'API Cloud Build et que vous avez spécifié --include-logs-with-status comme option, alors vous pouvez afficher vos journaux de compilation dans GitHub et GitHub Enterprise.

Pour afficher les journaux de compilation dans GitHub et GitHub Enterprise, procédez comme suit :

  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 dans la ligne de votre commit.

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

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

    La page Résumé 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 et des buckets

Pour obtenir les autorisations nécessaires pour supprimer des journaux de compilation et des buckets dans Cloud Storage, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de service utilisé pour votre compilation :

  • Supprimer des journaux de compilation dans un bucket Cloud Storage créé par l'utilisateur ou appartenant à l'utilisateur : Administrateur de l'espace de stockage (roles/storage.admin) : utilisateur ou compte de service qui supprime les journaux de compilation
  • Supprimer un bucket Cloud Storage créé par l'utilisateur ou appartenant à l'utilisateur : Administrateur de l'espace de stockage (roles/storage.admin) : utilisateur ou compte de service qui supprime les buckets
  • Supprimer un bucket Logging créé par l'utilisateur : Rédacteur de configuration des journaux (roles/logging.configWriter) : votre projet

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 via des rôles personnalisés ou d'autres rôles prédéfinis.

Pour supprimer des journaux de compilation dans un bucket Cloud Storage créé par l'utilisateur ou appartenant à l'utilisateur, suivez les instructions de la section Supprimer des objets de la documentation Cloud Storage.

Pour supprimer un bucket Cloud Storage créé par l'utilisateur ou appartenant à l'utilisateur, suivez les instructions de la section Supprimer des buckets de la documentation Cloud Storage.

Pour supprimer un bucket Logging créé par l'utilisateur, suivez les instructions de la section Supprimer un bucket de la documentation Logging.

Étape suivante