このページでは、Google ビルダーの SLSA V1.0 ビルドタイプの定義について説明します。
外部パラメータ
次の表は、ワークフローの PipelineRun とワークフローの TaskRun の定義で使用できる外部パラメータの種類を示しています。特に明記されていない限り、すべてのパラメータは必須です。
フィールド | タイプ | 詳細 |
---|---|---|
runSpec |
オブジェクト |
完全な PipelineRun 仕様。 |
buildConfigSource |
オブジェクト |
完全な buildConfigSource 仕様。 |
PipelineRun 仕様
フィールド | タイプ | 詳細 |
---|---|---|
pipelineRef/taskRef |
オブジェクト |
pipelineSpec/taskSpec が読み取られた場所。 このフィールドは、リモートソースから pipelineSpec が参照された場合にのみ入力されます。 デフォルト: |
pipelineSpec/taskSpec |
オブジェクト |
インラインのパイプライン / タスク仕様。pipelineRef/taskRef を使用してリモートソースから取得されません。 (省略可)。 |
params |
[オブジェクト] |
パイプラインに指定されたパラメータ名と値のマップ。値は、文字列、配列、オブジェクト型です。 デフォルト: 注: トリガーされたワークフローの場合、このフィールドには、ワークフロー定義でユーザーが設定したパラメータに加えて、Cloud Build トリガーシステムによって提供される一部のパラメータも含まれます。 |
ワークスペース |
[オブジェクト] |
ワークスペースは、パイプラインで宣言された名前と一致する必要がある、一連のワークスペース バインディングを保持します。 デフォルト: |
timeouts/timeout |
オブジェクト |
パイプラインがタイムアウトするまでの時間。タイムアウトは、Pipeline、Task、Finally に対して定義できます。これらは、Timeouts.pipeline Timeouts.tasks + Timeouts.finally の式によって関連付けられます。 |
buildConfigSource 仕様
フィールド | タイプ | 詳細 |
---|---|---|
ref |
オブジェクト |
次のいずれか 1 つを指定できます。
|
リポジトリ |
文字列 |
Git リポジトリの URI またはイメージ リポジトリの URI |
パス |
文字列 |
git リポジトリのパスまたはイメージ バンドルのリソース名。 |
内部パラメータ
内部パラメータは、ビルドプロセス用のビルダーによって提供されます。
フィールド | タイプ | 詳細 |
---|---|---|
tekton-pipelines-feature-flags | オブジェクト | ビルドに使用される Tekton フィーチャー トグル。これらはビルダーによって構成され、再現性に役立ちます。 |
systemParameters | オブジェクト | GCB が提供するデフォルトのシステム置換の名前と値のペアのリスト。 |
解決済みの依存関係
resolvedDependencies
フィールドには、externalParameters.configRef
に対応する解決済みの参照を識別するエントリが含まれている必要があります。これは、PipelineRun 仕様の場合はパイプラインへの参照となり、TaskRun 仕様の場合はタスクへの参照となります。
解決済みの依存関係には、アーティファクトのタイプを示す name
フィールドを使用して、ビルドの入力である追加のアーティファクトが含まれている場合があります。
- リモート Pipelines の場合は、
name: pipeline
を使用します。 - リモート Tasks の場合は、
name: pipelineTask
を使用します。 - ステップまたはサイドカー コンテナ イメージへの解決済みの参照の場合、
name
フィールドは省略可能です。digest
フィールドの場合、イメージがタグによって参照される場合でも、イメージ ダイジェストを含める必要があります。 - ソースコードなど、ビルドに使用されるその他の入力アーティファクトについては、
name: inputs/result
を使用します。タイプ ヒンティングは、タスクの結果に使用されます。
次の例には、解決されたすべての種類の依存関係に関する情報が含まれています。
"resolvedDependencies": [
{
"name": "pipeline",
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
},
{
"name": "pipelineTask",
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
},
{
"uri": "gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init",
"digest": {
"sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bbac90380cd7158df"},
},
{
"name": "inputs/result",
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
}
]
RunDetails
フィールド | 詳細 |
---|---|
builder | オペレーションを実行し、この来歴を入力したビルド プラットフォームを識別する id サブフィールドが含まれます。これには SLSA レベルも含まれます。想定される id 値は次のいずれかです。
|
metadata | このビルドの特定の実行に関する追加のメタデータ。
invocationId に、ビルドの URL(https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID など)が表示されます。startedOn フィールドと finishedOn フィールドには、ビルドの開始時と完了時のタイムスタンプが含まれます。 |
byproducts | results オブジェクト。
PipelineRun によって生成された TaskRunResults が含まれます。コンテンツは Base64 でエンコードされます。 |