建構類型:Google Builder

本頁說明 Google 建構工具的 SLSA V1.0 建構類型 定義。

外部參數

下表顯示工作流程 PipelineRun 和 Workflow TaskRun 定義中可能使用的外部參數類型。除非另有註明,否則所有參數均為必填。

欄位 類型 詳細資料

runSpec

物件

完整的 PipelineRun 規格

buildConfigSource

物件

完整的 buildConfigSource 規格

PipelineRun 規格

欄位 類型 詳細資料

pipelineRef/taskRef

物件

讀取 pipelineSpec/taskSpec 的位置。

只有在管道規格參照自遠端來源時,才會填入這個欄位。

預設:null

pipelineSpec/taskSpec

物件

內嵌的管道/工作規格,不會使用 pipelineRef/taskRef 從遠端來源擷取。

[選用]。

params

[object]

提供給管道的參數名稱和值對應。值可以是字串、陣列或物件類型。

預設:null

注意:如果是觸發的工作流程,除了使用者在工作流程定義中設定的參數外,這個欄位還會包含 Cloud Build 觸發系統提供的部分參數。

工作區

[object]

工作區會保留一組工作區繫結,這些繫結的名稱必須與管道中宣告的名稱相符。

預設:null

timeouts/timeout

物件

管道逾時的時間。您可以為 Pipeline、Tasks 和 Finally 定義逾時時間。這兩個函式之間的關係可用下列公式表示: Timeouts.pipeline Timeouts.tasks + Timeouts.finally。

buildConfigSource 規格

欄位 類型 詳細資料

ref

物件

可以是下列任一值:

  • Git 參照。例如,提交 SHA:sha1:563f0...
  • 映像檔摘要。例如:sha256:91fbe...

存放區

字串

Git 存放區 URI 或圖片存放區 URI

路徑

字串

Git 存放區中的路徑,或圖片套件中的資源名稱。

內部參數

內部參數是由建構程序的建構工具提供。

欄位 類型 詳細資料
tekton-pipelines-feature-flags 物件 用於建構作業的 Tekton 設定功能標記。這些是建構工具設定的,可用於重現。
systemParameters 物件 GCB 提供的預設系統替換值名稱和值組合清單。

已解決的依附元件

resolvedDependencies 欄位必須包含項目,用於識別與 externalParameters.configRef 相對應的已解析參照。這是 PipelineRun 規格的管道參照,或是 TaskRun 規格的 Task 參照。

已解析的依附元件可能包含其他建構輸入項的構件,並使用 name 欄位來表示構件的類型:

  • 如果是遠端管道,請使用 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

欄位 詳細資料
建構工具 包含 id 子欄位,用於識別執行作業並填入此來源的建構平台。這也包含 SLSA 等級。預期的 id 值為下列其中一個:
  • https://cloudbuild.googleapis.com/GoogleBuilder。這個建構 ID 表示 SLSA L2 版本。
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder。這個建構 ID 表示 SLSA L3 版本。
中繼資料 這個特定版本執行作業的其他中繼資料。 invocationId 會顯示建構作業的網址,例如 https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID
startedOnfinishedOn 欄位包含建構作業開始和完成的時間戳記。
副產品 results 物件。
包含 PipelineRun 產生的 TaskRunResults。內容採用 Base64 編碼。