ビルドタイプ: Google ビルダー

このページでは、Google ビルダーの SLSA V1.0 ビルドタイプの定義について説明します。

外部パラメータ

次の表は、ワークフローの PipelineRun とワークフローの TaskRun の定義で使用できる外部パラメータの種類を示しています。特に明記されていない限り、すべてのパラメータは必須です。

フィールド タイプ 詳細

runSpec

オブジェクト

完全な PipelineRun 仕様

buildConfigSource

オブジェクト

完全な buildConfigSource 仕様

PipelineRun 仕様

フィールド タイプ 詳細

pipelineRef/taskRef

オブジェクト

pipelineSpec/taskSpec が読み取られた場所。

このフィールドは、リモートソースから pipelineSpec が参照された場合にのみ入力されます。

デフォルト: null

pipelineSpec/taskSpec

オブジェクト

インラインのパイプライン / タスク仕様。pipelineRef/taskRef を使用してリモートソースから取得されません。

(省略可)。

params

[オブジェクト]

パイプラインに指定されたパラメータ名と値のマップ。値は、文字列、配列、オブジェクト型です。

デフォルト: null

注: トリガーされたワークフローの場合、このフィールドには、ワークフロー定義でユーザーが設定したパラメータに加えて、Cloud Build トリガーシステムによって提供される一部のパラメータも含まれます。

ワークスペース

[オブジェクト]

ワークスペースは、パイプラインで宣言された名前と一致する必要がある、一連のワークスペース バインディングを保持します。

デフォルト: null

timeouts/timeout

オブジェクト

パイプラインがタイムアウトするまでの時間。タイムアウトは、Pipeline、Task、Finally に対して定義できます。これらは、Timeouts.pipeline Timeouts.tasks + Timeouts.finally の式によって関連付けられます。

buildConfigSource 仕様

フィールド タイプ 詳細

ref

オブジェクト

次のいずれか 1 つを指定できます。

  • Git 参照。たとえば、commit sha は sha1:563f0... です
  • イメージ ダイジェスト。例: sha256:91fbe...

リポジトリ

文字列

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 値は次のいずれかです。
  • https://cloudbuild.googleapis.com/GoogleBuilder。このビルダー ID は SLSA L2 ビルドを示します。
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder。このビルダー ID は SLSA L3 ビルドを示します。
metadata このビルドの特定の実行に関する追加のメタデータ。 invocationId に、ビルドの URL(https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID など)が表示されます。
startedOn フィールドと finishedOn フィールドには、ビルドの開始時と完了時のタイムスタンプが含まれます。
byproducts results オブジェクト。
PipelineRun によって生成された TaskRunResults が含まれます。コンテンツは Base64 でエンコードされます。