このページでは、Google Cloud コンソールを使用して Cloud Build ビルド、gcloud
コマンドライン ツール、Cloud Build API に関する情報を表示する方法を説明します。
準備
このガイドのコマンドラインの例を使用する場合、gcloud
コマンドライン ツールをインストールしてください。
ビルド結果を表示する
ビルドログを表示するには、プリンシパルが Cloud Build IAM 権限に加えて、次のいずれかの IAM ロールを持っている必要があります。
ビルドログがデフォルトの Cloud Storage バケットにある場合は、[Project] > [閲覧者] のロールを付与します。
ビルドログがユーザー指定の Cloud Storage バケットにある場合は、Storage オブジェクト閲覧者のロールを付与します。
トリガーの作成後に Cloud Build、GitHub、GitHub Enterprise でビルドログを表示するために必要な権限の詳細については、ビルドログの表示をご覧ください。
コンソール
Google Cloud コンソールでは、[ビルド履歴] メニューに、ビルドのステータス(成功や失敗など)、ソース、結果、作成時刻、イメージなどの情報が表示されます。
[ビルド履歴] メニューを表示するには、Google Cloud コンソールで [ビルド履歴] ページを開きます。
[ビルド履歴] ページが開き、最近のビルドのリストが表示されます。
ビルドをリージョンでフィルタするには、ページの上部にある [リージョン] プルダウン メニューを使用して、フィルタするリージョンを選択します。
ページ上部の [ビルドをフィルタする] テキスト ボックスを使用するか、クエリを手動で入力して、ビルドをフィルタすることもできます。
[トリガーの説明]、[アーティファクト] など、追加の列を表示するには、列セレクタ(
)を使用します。特定のビルドの詳細を表示するには、[ビルド履歴] に移動し、指定したビルドをクリックします。[ビルドの詳細] ページが開き、ビルドの概要が表示されます。[ビルドの概要] には、次の情報が表示されます。
- ビルドログ: ビルドのログ。
- 実行の詳細: 環境変数と代入変数などのビルドの詳細。
- ビルド アーティファクト: コンテナ イメージ、ビルドログ、バイナリなどのビルドのアーティファクト。
左側の [ステップ] テーブルでステップを選択すると、ビルドステップに固有のビルドログまたは実行の詳細を表示できます。
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 us-east1-docker.pkg.dev/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 us-east1-docker.pkg.dev/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:
- us-east1-docker.pkg.dev/gcb-docs-project/quickstart-image
logUrl: https://console.cloud.google.com/cloud-build/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: us-east1-docker.pkg.dev/gcb-docs-project/quickstart-image
pushTiming:
endTime: '2018-02-22T14:50:04.731919081Z'
startTime: '2018-02-22T14:50:00.874058710Z'
- digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
name: us-east1-docker.pkg.dev/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
- us-east1-docker.pkg.dev/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 とマークされます。 |
失敗したステップを許可した場合のビルドの成功 | SUCCESS
|
|
ビルドの失敗 | FAILURE
|
|
ユーザーによるビルドのキャンセル | CANCELLED
|
|
ビルドのタイムアウト | TIMEOUT |
|
ステップのタイムアウト | FAILED |
|
ステップごとのステータスとビルドのステータスを表示するには、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 コンソールで [ビルド履歴] ページの [ビルドをフィルタ] フィールドにクエリ文字列を指定します。たとえば、失敗したビルド(ステータス フィールドに 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
など)には、>
、>=
、<
、<=
を使用できます。
AND
と OR
のブール式を使用すると、複合クエリを作成できます。
一般的なサンプルクエリ
成功したすべてのビルドをクエリするには、次のように指定します。
status="SUCCESS"
まだ完了していないすべてのビルドをクエリするには、次のように指定します。
status="QUEUED" OR status="WORKING"
指定した結果イメージ名を持つビルドをクエリするには、次のように指定します。
(status="SUCCESS" OR status="FAILURE") AND \
results.images.name="us-east1-docker.pkg.dev/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 個のタグを定義できます
- タグには、文字、数字、アンダースコアを文字列のどこにでも含めることができます。
- タグには、文字列の先頭でなければどこにでもピリオドとハイフンを含めることができます。
ビルドにタグを追加するには:
ビルド構成ファイルで、
tags
フィールドを追加します。steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-east1-docker.pkg.dev/$PROJECT_ID/cb-demo-img', '.' ] images: - 'us-east1-docker.pkg.dev/$PROJECT_ID/cb-demo-img' tags: - 'test1' - 'test2'
クラスタ内のタグ付きビルドを表示するには、
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://... us-east1-docker.pkg.dev/... SUCCESS
次のステップ
- ビルドトリガーのビルド結果を表示する方法を学習する。
- ビルドのセキュリティ分析情報を表示する方法を学習する。
- ビルドエラーをトラブルシューティングする方法について学習する。