ビルドログの保存と表示

ビルドを実行すると、Cloud Build はビルドログを収集し、Google が作成した Cloud Storage バケットに保存します。ただし、独自の Cloud Storage バケットにログを保存することもできます。ビルドログの保存場所によっては、ログを表示するために必要な IAM 権限が異なる場合があります。

このページでは、ビルドログを保存し、ビルドログを表示するための適切な権限を付与する方法について説明します。

ビルドログの保存

Cloud Build 構成ファイルの logsBucket フィールドを使用して、ビルドログを保存する Cloud Storage バケットを指定します。このフィールドを設定しない場合、Cloud Build はビルドログをの保存にデフォルトの Cloud Storage バケットを使用します。

ビルドログを保存する Cloud Storage バケットを指定するには:

  1. Cloud プロジェクトで、ビルドログを保存する Cloud Storage バケットを作成します。

  2. 省略可)Cloud Storage バケットと Cloud Build が異なる Cloud プロジェクトにある場合。Cloud Build サービス アカウントストレージ管理者のロールを付与します。

    1. [IAM] ページを開きます。

      [IAM] ページを開く

    2. Cloud Build を使用してビルドを実行するプロジェクトを選択します。

    3. 権限の表で、末尾が @cloudbuild.gserviceaccount.com のメールアドレスを見つけてメモします。これは Cloud Build サービス アカウントです。

    4. Cloud Storage バケットが配置されているプロジェクトの IAM ページを開きます。

      [IAM] ページを開く

    5. [追加] をクリックします。

    6. Cloud Build サービス アカウントのメールアドレスを入力します。

    7. [Cloud Storage] > [Storage Admin] を選択します。

    8. [保存] をクリックします。

  3. Cloud Build 構成ファイルで、ビルドログを保存するために作成した Cloud Storage バケットを指す logsBucket フィールドを追加します。次のビルド構成ファイルの例では、コンテナ イメージをビルドし、ビルドログを 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"
        }
    
  4. ビルド構成ファイルを使用して、ビルドを手動で開始するか、トリガーを使用してビルドを自動化します。

ビルドが完了すると、Cloud Build はビルド構成ファイルで指定した Cloud Storage バケットにログを保存します。

ビルドログの表示

ビルドログを表示するために必要な IAM 権限は、ログがデフォルトの Cloud Storage バケットにあるか、ユーザー指定のバケットにあるかによって異なります。

ビルドログがデフォルトの Cloud Storage バケットにある場合、ビルドログを表示するメンバーに、ビルドが構成されているプロジェクトのプロジェクト閲覧者ロールを付与します。

  1. [IAM] ページを開きます。

    [IAM] ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. 権限の表でメンバーのメール ID を探し、鉛筆アイコンをクリックします。

  4. [プロジェクト] > [閲覧者] のロールを選択します。

  5. [保存] をクリックします。

ビルドログがユーザー指定の Cloud Storage バケットにある場合は、ビルドログを表示するメンバーにストレージ オブジェクト閲覧者のロールを付与します。

  1. [IAM] ページを開きます。

    [IAM] ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. 権限の表でメンバーのメール ID を探し、鉛筆アイコンをクリックします。

  4. [Cloud Storage] > [Storage Object Viewer] のロールを選択します。

  5. [保存] をクリックします。

ビルドログを表示するには:

Console

  1. Google Cloud Console で Cloud Build ページを開きます。

    Cloud Build ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. [ビルド履歴] ページで、特定のビルドをクリックします。

  4. [ビルドの詳細] ページの [ステップ] で、[ビルドの概要] をクリックしてビルド全体のビルドログを表示するか、ビルドステップをクリックして対象のステップのビルドログを表示します。

    [ビルドの詳細] ページのビルドログのスクリーンショット

gcloud

gcloud builds log コマンドを実行します。ここで、build-id はビルドログを取得するビルドの ID です。ビルド ID は、gcloud builds submit の実行時にビルド送信プロセスの最後に表示されるか、gcloud builds list の実行時に ID 列に表示されます。

gcloud builds log build-id

次のステップ