ビルドタイプ: Cloud Build v1 build

このページでは、Cloud Build のビルドタイプについて説明します。

ビルド定義

外部パラメータ

次の表に、Cloud Build ビルドで使用される外部パラメータの種類を示します。外部パラメータは自分で指定する値であり、ビルド構成には存在しません。これには、cloudbuild.yaml ファイルに含まれていないトリガー パラメータも含まれます。

フィールド タイプ 詳細
buildConfigSource オブジェクト ビルド構成の読み取り元。

BuildTrigger では、これはビルドをトリガーしたソース リポジトリ(SCM イベントでトリガーされるビルド)か、他のすべてのトリガータイプの gitFileSource に対応します。

buildConfigSource または buildConfig(インライン ビルド構成の場合)のいずれかが設定されます。
buildConfigSource.ref 文字列 構成が読み取られた buildConfigSource.repository 内の Git リファレンス。完全修飾された git ref(refs/ で始まる)または commit SHA(小文字の 16 進数)のいずれか。commit SHA は、トリガーで指定された場合にのみ使用されます。
buildConfigSource.repository 文字列 https:// プロトコルを含む、ビルド構成ファイルを含む git リポジトリの HTTPS URI。SPDX 形式との互換性を確保するため、git+ の接頭辞が付いています。形式要件の詳細については、ResourceURI をご覧ください。
buildConfigSource.path 文字列 commit 内のビルド構成ファイルへのパス。例: cloudbuild.yaml

pathAutodetect と排他的です。これらのフィールドの 1 つのみをデフォルト以外の値に設定する必要があります
buildConfigSource.pathAutoDetect ブール値 true の場合、path が自動検出されました(BuildTrigger の自動検出オプションに対応)。False の場合、未設定に相当します。自動検出が有効になっていない場合、Cloud Build は代わりに path を使用します。

path とは相互に排他的です。これらのフィールドの 1 つのみをデフォルト以外の値に設定する必要があります。
sourceToBuild オブジェクト チェックアウトされてビルドされたソースコード。通常、これは buildConfigSource と同じです。これは、BuildTrigger に gitFileSource が設定されている場合にのみ異なります。

repositoryrefbuildConfigSource と同じで、dir が空白の場合、このフィールドは存在しません。

BuildTrigger では、トリガーの種類に応じて、sourceToBuild またはビルドをトリガーした commit に対応します。
sourceToBuild.ref 文字列 sourceToBuild.repository 内のチェックアウトされた Git リファレンス。完全修飾 git ref(refs/ で始まる)または commit SHA(小文字の 16 進数)のいずれか。commit SHA は、トリガーで指定された場合にのみ使用されます。
sourceToBuild.repository 文字列 チェックアウトされた git リポジトリの HTTPS URI(https:// プロトコルを使用)。git+ の接頭辞が付けられます。
sourceToBuild.dir 文字列 末尾にスラッシュを付けずにビルドを実行する commit 内のディレクトリ。空白、未設定に設定できます。
buildConfig 文字列 手動で送信したビルドなど、インライン ビルド構成が指定されている場合は、次の情報が記録されます。

- ステップ
- ビルド オプション(環境変数、ボリューム、ワーカープールの詳細、machineType、ログの詳細など)
- 置換

ビルド構成がリポジトリから読み取られた場合、buildConfigSource セクションに記録され、インライン ビルド構成は省略されます。

この情報は、Base64 エンコードのシリアル化された JSON 文字列として保存されます。
substitutions map<string,string></string,string> ビルドリソースに対して実行する置換を含む(string -> string)のマップ。

これには、ビルド構成に記録されない「ランタイム」または「独立」置換のみが含まれます。つまり、トリガーまたは gcloud CLI フラグから渡されます。

システム提供のデフォルトの置換internalParameters と見なされるため、このレコードには含まれません。

ビルド構成で参照されているか使用されているかに関係なく、置換がこのフィールドに表示されます。

内部パラメータ

次の表に、(上書きしない場合に)Cloud Build がビルド用に設定する内部パラメータを示します。詳しくは、デフォルトの置換をご覧ください。

フィールド 詳細
triggerUri このビルドを呼び出したトリガーのリソース URI。この場合は完全なリソース名です。

ビルドがトリガーされなかった場合、これは省略されます。
systemSubstitutions デフォルトの置換値のサブセットがあり、PROJECT_IDBUILD_ID などの Cloud Build のビルドで自動的に提供されます。

Cloud Build のデフォルトの置換のいずれかを上書きすると、自分の置換はここには表示されなくなります。値は、代わりに externalParameters.substitutions にリストされます。

解決済みの依存関係

ビルドにソース リポジトリまたはビルド構成リポジトリがある場合、そのリポジトリは BuildDefinitionresolvedDependencies セクションで説明されます。

ResolvedDependenciesResourceDescriptor 仕様に準拠しています。


依存関係のタイプ

詳細

ビルド構成リポジトリ

トリガーされたビルドの場合、ビルド構成(cloudbuild.yaml)が pull されたリポジトリ。


リポジトリから読み取らず、インラインで提供されるビルド構成の場合は、空になることがあります。その場合は省略されます。

ソース リポジトリ

ビルドするソースコードが pull されたリポジトリ。buildConfigSource と同じであることも、異なることもあります。buildConfigSource と同じ場合、SCM でトリガーされるビルドなどでは sourceToBuild が省略されます。

ビルドが –no-source を介して実行される場合に sourceToBuild が空になり省略される場合があります。

たとえば、次の resolvedDependencies 情報には buildConfigRepo と sourceRepo(これらは同じです)とビルドステップ イメージの両方が含まれています。

"resolvedDependencies": [
{
    "uri": "git+https://github.com/octocat/hello-world.git",
    "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"}
}, {
    "uri": "gcr.io/cloud-builders/git",
    "digest": {
        "sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bba7158df"}
    }
]

RunDetails

フィールド 詳細
builder オペレーションを実行し、この来歴を入力したビルド プラットフォームを識別する id サブフィールドが含まれます。これには SLSA レベルも含まれます。想定される id 値は https://cloudbuild.googleapis.com/GoogleHostedWorker です。
metadata このビルドの特定の実行に関する追加のメタデータ。 invocationId に、ビルドの URL(https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID など)が表示されます。
startedOn フィールドと finishedOn フィールドには、ビルドの開始時と完了時のタイムスタンプが含まれます。
byproducts まだ使用されていません。ビルドの出力とはみなされない追加のアーティファクトを含めるように設計されていますが、トラブルシューティングやインシデント対応に役立つ場合があります。
systemSubstitutions デフォルトの置換値のサブセットがあり、PROJECT_IDBUILD_ID などの Cloud Build のビルドで自動的に提供されます。

Cloud Build のデフォルトの置換のいずれかを上書きすると、自分の置換はここには表示されなくなります。値は、代わりに externalParameters.substitutions にリストされます。