ビルド結果の表示

このページでは、Google Cloud Console を使用して Cloud Build ビルド、gcloud コマンドライン ツール、Cloud Build API に関する情報を表示する方法を説明します。

始める前に

このガイドのコマンドラインの例を使用する場合、gcloud コマンドライン ツールをインストールしてください。

ビルド結果の表示

ビルドログを表示するには、Cloud Build IAM 権限だけでなく、プロジェクト メンバーに次のいずれかの IAM 権限が必要です。

ビルドログを表示するために必要な権限の詳細については、ビルドログの表示をご覧ください。

Console

Cloud Console では、[ビルド履歴] メニューに、ビルドのステータス(成功や失敗など)、ソース、結果、作成時刻、イメージなどの情報が表示されます。

[ビルド履歴] メニューを表示するには、Google Cloud Console で [ビルド履歴] ページを開きます。

[ビルド履歴] ページを開く

[ビルド履歴] ページが開き、最近のビルドのリストが表示されます。

ビルドをフィルタリングするには、ページ上部にある [ビルドをフィルタ] テキスト ボックスを使用するか、クエリを手動で入力します。

[トリガーの説明]、[アーティファクト] など、追加の列を表示するには、列セレクタ()を使用します。

特定のビルドの詳細を表示するには、[ビルド履歴] に移動し、指定したビルドをクリックします。[ビルドの詳細] ページが開き、ビルドの概要が表示されます。[ビルドの概要] には、次の情報が表示されます。

  • ビルドログ: ビルドのログ。
  • 実行の詳細: 環境変数と代入変数などのビルドの詳細。
  • ビルド アーティファクト: コンテナ イメージ、ビルドログ、バイナリなどのビルドのアーティファクト。

左側の [ステップ] テーブルでステップを選択すると、ビルドステップに固有のビルドログまたは実行の詳細を表示できます。

gcloud

gcloud builds list コマンドを実行すると、すべてのビルドが表示されます。

ビルドを表示するには、次のコマンドを実行します。

gcloud builds list

出力は次のようになります。

ID                                    CREATE_TIME                DURATION  SOURCE                                                                                      IMAGES                                              STATUS
3a2055bc-ccbd-4101-9434-d376b88b8940  2018-02-16T18:33:26+00:00  23S       gs://gcb-docs-project_cloudbuild/source/1518806004.25-db1e250a7b7f496eb8242bfee5ac308e.tgz  gcr.io/gcb-docs-project/quickstart-image (+1 more)  SUCCESS
900704ca-7a0c-4569-ac08-884593c19aac  2018-02-16T18:32:32+00:00            gs://gcb-docs-project_cloudbuild/source/1518805951.23-03dd53d16f684c568fa2bb7ff7ebda06.tgz  -                                                   FAILURE
021f9ede-ddaa-4cfb-8988-60142b015ebd  2018-02-14T15:48:44+00:00  10S       gs://gcb-docs-project_cloudbuild/source/1518623322.56-9cd088ffc1e04f5aa6040728772d0c2a.tgz  -                                                   SUCCESS
8126d538-3c43-4304-a14c-33aceec8cb97  2018-02-14T15:46:13+00:00  10S       gs://gcb-docs-project_cloudbuild/source/1518623172.09-327c02585a4e44e782ac97dd80d5a5d5.tgz  gcr.io/gcb-docs-project/quickstart-image (+1 more)  SUCCESS

特定のビルドの詳細を表示するには、次のコマンドを実行します。

gcloud builds describe [BUILD_ID]

[BUILD_ID] は、詳細を表示するビルドの ID です。

出力は次のようになります。

createTime: '2018-02-22T14:49:54.066666971Z'
finishTime: '2018-02-22T14:50:05.463758Z'
id: bcdb9c48-d92c-4489-a3cb-08d0f0795a0b
images:
- gcr.io/gcb-docs-project/quickstart-image
logUrl: https://console.cloud.google.com/gcr/builds/bcdb9c48-d92c-4489-a3cb-08d0f0795a0b?project=gcb-docs-project
logsBucket: gs://404889597380.cloudbuild-logs.googleusercontent.com
projectId: gcb-docs-project
results:
    buildStepImages:
    - sha256:a4363bc75a406c4f8c569b12acdd86ebcf18b6004b4f163e8e6293171462a79d
    images:
    - digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
      name: gcr.io/gcb-docs-project/quickstart-image
      pushTiming:
          endTime: '2018-02-22T14:50:04.731919081Z'
          startTime: '2018-02-22T14:50:00.874058710Z'
      - digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
        name: gcr.io/gcb-docs-project/quickstart-image:latest
        pushTiming:
            endTime: '2018-02-22T14:50:04.731919081Z'
            startTime: '2018-02-22T14:50:00.874058710Z'
source:
    storageSource:
        bucket: gcb-docs-project_cloudbuild
        generation: '1519310993665963'
        object: source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz
sourceProvenance:
    fileHashes:
        gs://gcb-docs-project_cloudbuild/source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz#1519310993665963:
        fileHash:
        - value: -aRYrWp2mtfKhHSyWn6KNQ==
    resolvedStorageSource:
        bucket: gcb-docs-project_cloudbuild
        generation: '1519310993665963'
        object: source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz
startTime: '2018-02-22T14:49:54.966308841Z'
status: SUCCESS
steps:
- args:
  - build
  - --no-cache
  - -t
  - gcr.io/gcb-docs-project/quickstart-image
  - .
  name: gcr.io/cloud-builders/docker
  status: SUCCESS
  timing:
      endTime: '2018-02-22T14:50:00.813257422Z'
      startTime: '2018-02-22T14:50:00.102600442Z'
timeout: 600s
timing:
    BUILD:
        endTime: '2018-02-22T14:50:00.873604173Z'
        startTime: '2018-02-22T14:50:00.102589403Z'
    FETCHSOURCE:
        endTime: '2018-02-22T14:50:00.087286880Z'
        startTime: '2018-02-22T14:49:56.962717504Z'
    PUSH:
        endTime: '2018-02-22T14:50:04.731958202Z'
        startTime: '2018-02-22T14:50:00.874057159Z'

ステップとビルドのステータス

ビルドの完了後、Cloud Build はビルド全体の status と各ビルドステップの status を表示します。

次の表に、ビルドまたはステップが成功したとき、タイムアウトしたとき、または失敗したときのステータスを示します。

イベント ビルドのステータス ステップのステータス
ビルドの成功 SUCCESS すべてのステップが SUCCESS とマークされます。
ビルドの失敗 FAILURE
  • 失敗したステップは FAILED とマークされます。
  • ビルドの終了前に成功したステップは SUCCESS とマークされます。
  • 実行中のステップは CANCELLED とマークされます。
  • 実行を開始していないステップは QUEUED とマークされます。
ユーザーによるビルドのキャンセル CANCELLED
  • ビルドのキャンセル前に成功したステップは SUCCESS とマークされます。
  • 実行中のステップは CANCELLED とマークされます。
  • 実行を開始しなかったステップは QUEUED とマークされます。
ビルドのタイムアウト TIMEOUT
  • ビルドのタイムアウト前に成功したステップは SUCCESS とマークされます。
  • 実行中のステップは CANCELLED とマークされます。
  • 実行を開始しなかったステップは QUEUED とマークされます。
ステップのタイムアウト FAILED
  • タイムアウトしたステップは TIMEOUT とマークされます。
  • ステップのタイムアウト前に成功したステップは SUCCESS とマークされます。
  • 実行中のステップは CANCELLED とマークされます。
  • 実行を開始しなかったステップは QUEUED とマークされます。

ステップごとのステータスとビルドのステータスを表示するには、gcloud builds describe コマンドを実行します。

gcloud builds describe [BUILD_ID]

[BUILD_ID] はビルドの ID です。

次のスニペットは、タイムアウトしたステップを含むビルドのステップごとのステータスを表示します。

status: FAILURE
steps:
- args:
  - sleep
  - '60'
id: long sleep
name: alpine
status: CANCELLED
timing:
    endTime: '2018-02-26T14:09:18.531368493Z'
    startTime: '2018-02-26T14:09:11.023235026Z'
waitFor:
- '-'
- args:
- sleep
- '3'
id: shorty
name: alpine
status: SUCCESS
timeout: 60s
timing:
    endTime: '2018-02-26T14:09:15.497724138Z'
    startTime: '2018-02-26T14:09:11.023676903Z'
waitFor:
- '-'
- args:
  - sleep
  - '60'
name: alpine
status: TIMEOUT
timeout: 3s
timing:
    endTime: '2018-02-26T14:09:18.527488475Z'
    startTime: '2018-02-26T14:09:15.497736775Z'
waitFor:
- shorty
- args:
  - 'false'
name: alpine
status: QUEUED
waitFor:
- long sleep
timeout: 60s

クエリを使用したビルド結果のフィルタリング

特定の条件に一致するビルドの情報を検索するには、Google Cloud Console で [ビルド履歴] ページの [ビルドをフィルタ] フィールドにクエリ文字列を指定します。たとえば、失敗したビルド(ステータス フィールドに FAILURE 値があるビルド)、特定の時点よりも後に作成されたビルド、タグが付いたビルドなどの条件を満たすビルドをクエリできます。

クエリでサポートされているフィールド

ビルドは次のフィールドの値に基づいてクエリできます。

  • status
  • build_id
  • trigger_id
  • source.storage_source.bucket
  • source.storage_source.object
  • source.repo_source.repo_name
  • source.repo_source.branch_name
  • source.repo_source.tag_name
  • source.repo_source.commit_sha
  • source_provenance.resolved_repo_source.commit_sha
  • results.images.name
  • results.images.digest
  • options.requested_verify_option
  • tags
  • images
  • create_time
  • start_time
  • finish_time

ドット表記(.)で表示されているフィールドはサブフィールドです。

クエリ文字列の構成

クエリ文字列には、次の一般的な形式が使用されます。

field="value"

ドット表記を使用して、results.images.name などのサブフィールドを指定します。=!= の比較演算子がサポートされています。数値を含むフィールド(create_time など)には、>>=<<= を使用できます。

ANDOR のブール式を使用すると、複合クエリを作成できます。

一般的なサンプルクエリ

成功したすべてのビルドをクエリするには、次のように指定します。

status="SUCCESS"

まだ完了していないすべてのビルドをクエリするには、次のように指定します。

status="QUEUED" OR status="WORKING"

指定した結果イメージ名を持つビルドをクエリするには、次のように指定します。

(status="SUCCESS" OR status="FAILURE") AND \
    results.images.name="gcr.io/my-project/my-image"

タグ "prod" を使用してすべてのビルドをクエリするには:

tags="prod"

検証済みと設定されたビルドをクエリするには、次のように指定します。

options.requested_verify_option="VERIFIED"

Cloud Source Repository ではなく、Cloud Storage 内のソースから取得されたビルドをクエリするには、次のように指定します。

source.storage_source.bucket!=""

指定した結果ダイジェストを含むビルドをクエリするには、次のように指定します。

results.images.digest="sha256:6c7147fe4c813845ac2a9aa6f937bb272b68784f647c4f64c7325723c7245c88"

特定の時刻より後に開始して、特定の時刻より前に終了したビルドをクエリするには、次のように指定します(UTC タイムゾーン)。

create_time>"2016-10-12T18:43:49+00:00" AND finish_time<"2016-10-13T18:43:49+00:00"

タグを使用したビルド結果のフィルタリング

構成ファイルでタグを使用すると、ビルドをグループにまとめたり、ビルドをフィルタリングしたりできます。"prod""test" などのタグで文字列を指定できます。

タグには次の制限があります。

  • 各タグの文字数制限は 128 文字です
  • ビルドごとに最大 64 個のタグを定義できます
  • タグには、文字、数字、アンダースコアを文字列のどこにでも含めることができます。
  • タグには、文字列の先頭でなければどこにでもピリオドとハイフンを含めることができます。

ビルドにタグを追加するには:

  1. ビルド構成ファイルで、tags フィールドを追加します。

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/cb-demo-img', '.' ]
    images:
    - 'gcr.io/$PROJECT_ID/cb-demo-img'
    tags:
    - 'test1'
    - 'test2'
    
  2. クラスタ内のタグ付きビルドを表示するには、gcloud builds list--filter オプションを使用します。ビルドをフィルタリングするには、1 つまたは複数のタグを指定します。

    • 1 つのタグでビルドをフィルタリングするには、tags フィールドに文字列としてタグを指定します。次のコマンドを実行すると、'test1' というタグの付いているすべてのビルドが表示されます。

       gcloud builds list --filter "tags='test1'"
      
    • 複数のタグでビルドをフィルタリングするには、AND、OR、NOT を使用してタグを指定します。次のコマンドを実行すると、'test1' タグまたは 'test2' タグが付き、さらに 'test3' タグが付いているすべてのビルドが表示されます。

       gcloud builds list --filter "tags=('test1' OR 'test2') AND 'test3'"
      

    これらのコマンドを実行すると、次のような出力が表示されます。

    ID                                    CREATE_TIME                DURATION  SOURCE                                                                             IMAGES                                 STATUS
    d33a9895-...                          ...                        1M45S     gs://...                                                                           gcr.io/...                             SUCCESS
    

ビルドトリガーのビルド結果の表示

Cloud Build ダッシュボードには、ビルドトリガーごとに最新のビルドの概要が表示されます。

ダッシュボードは、複数のカードから構成されています。各カードは、リポジトリ内のビルドトリガーに関連付けられています。1 つのリポジトリに複数のトリガーが作成されている場合は、複数のカードがあります。これらのカードは、リポジトリ名のアルファベット順に、さらにトリガー名のアルファベット順に表示されます。カードの右側にカーソルを合わせ、下の例のように固定アイコンをクリックして、ページの上部にカードを固定することもできます。

ダッシュボードのサンプルカードのスクリーンショット

カードのタイトルには、「成功」や「失敗」など、ビルドの最新の結果が表示されます。リポジトリの名前とトリガー名の後に最新の結果が表示されます。タイトルの下には、最新のビルドに関連する結果が表示されます。

ダッシュボードの表示

ビルドトリガーが設定されている場合、Cloud Build ダッシュボードにデータが入力されます。ビルドトリガーの設定方法については、ビルドトリガーの作成と管理をご覧ください。

Cloud Build ダッシュボードを表示するには:

  1. Cloud Build ダッシュボードのページに移動します。

    Cloud Build ダッシュボード ページを開く

  2. プルダウン メニューからプロジェクトを選択します。

Cloud Build ダッシュボードに、ビルドトリガーの最近のビルドが表示されます。

Cloud Build ダッシュボードには、次の情報が表示されます。

  • 最新のビルド: 最新ビルドが生成された日付と時間。

  • 時間: 最近のビルドの時間。HH:MM:SS の形式で表示されます。

  • ソース: 接続しているソース リポジトリのリンク。ソース リポジトリは、Cloud Source Repositories のリポジトリ、GitHub リポジトリ、Bitbucket リポジトリのいずれかです。

  • commit: ビルドに使用された commit のリンク。

  • 失敗したステップ: 最新のビルドが失敗している場合、ビルドエラーの原因となったステップ。

最新のビルドが失敗している場合、失敗したステップは、ビルドログでエラーの原因と記録されているステップとリンクします。

  • ビルド履歴: 最近の 20 件のビルドのビルド時間を表す棒グラフ。棒グラフのバーにカーソルを合わせると、各ビルドの情報が表示されます。

  • 平均時間: 最近の 20 件のビルドの平均ランタイム(実行中のビルドは除く)。

  • 合否の割合: 最近の 20 件のビルドの合否の割合。

カードのフィルタリング

ダッシュボードでカードをフィルタリングするには、Cloud Build ダッシュボード ページの上部にある [トリガーのフィルタ] オプションをクリックします。

[トリガーのフィルタ] プロンプトのスクリーンショット

次の条件でカードをフィルタリングできます。

  • トリガーのソース: ソース リポジトリの名前。
  • トリガーの名前: トリガーの名前。
  • トリガーの説明: トリガーの説明。

次のステップ