このページでは、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 が設定されている場合にのみ異なります。repository と ref が buildConfigSource と同じで、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_ID 、BUILD_ID などの Cloud Build のビルドで自動的に提供されます。Cloud Build のデフォルトの置換のいずれかを上書きすると、自分の置換はここには表示されなくなります。値は、代わりに externalParameters.substitutions にリストされます。 |
解決済みの依存関係
ビルドにソース リポジトリまたはビルド構成リポジトリがある場合、そのリポジトリは BuildDefinition
の resolvedDependencies
セクションで説明されます。
ResolvedDependencies
は ResourceDescriptor
仕様に準拠しています。
依存関係のタイプ |
詳細 |
---|---|
ビルド構成リポジトリ |
トリガーされたビルドの場合、ビルド構成( 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_ID 、BUILD_ID などの Cloud Build のビルドで自動的に提供されます。Cloud Build のデフォルトの置換のいずれかを上書きすると、自分の置換はここには表示されなくなります。値は、代わりに externalParameters.substitutions にリストされます。 |