本頁說明 Google 建構工具的 SLSA V1.0 建構類型 定義。
外部參數
下表顯示工作流程 PipelineRun 和 Workflow TaskRun 定義中可能使用的外部參數類型。除非另有註明,否則所有參數均為必填。
欄位 | 類型 | 詳細資料 |
---|---|---|
runSpec |
物件 |
完整的 PipelineRun 規格。 |
buildConfigSource |
物件 |
完整的 buildConfigSource 規格。 |
PipelineRun 規格
欄位 | 類型 | 詳細資料 |
---|---|---|
pipelineRef/taskRef |
物件 |
讀取 pipelineSpec/taskSpec 的位置。 只有在管道規格參照自遠端來源時,才會填入這個欄位。 預設: |
pipelineSpec/taskSpec |
物件 |
內嵌的管道/工作規格,不會使用 pipelineRef/taskRef 從遠端來源擷取。 [選用]。 |
params |
[object] |
提供給管道的參數名稱和值對應。值可以是字串、陣列或物件類型。 預設: 注意:如果是觸發的工作流程,除了使用者在工作流程定義中設定的參數外,這個欄位還會包含 Cloud Build 觸發系統提供的部分參數。 |
工作區 |
[object] |
工作區會保留一組工作區繫結,這些繫結的名稱必須與管道中宣告的名稱相符。 預設: |
timeouts/timeout |
物件 |
管道逾時的時間。您可以為 Pipeline、Tasks 和 Finally 定義逾時時間。這兩個函式之間的關係可用下列公式表示: Timeouts.pipeline Timeouts.tasks + Timeouts.finally。 |
buildConfigSource 規格
欄位 | 類型 | 詳細資料 |
---|---|---|
ref |
物件 |
可以是下列任一值:
|
存放區 |
字串 |
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 值為下列其中一個:
|
中繼資料 | 這個特定版本執行作業的其他中繼資料。
invocationId 會顯示建構作業的網址,例如 https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID 。startedOn 和 finishedOn 欄位包含建構作業開始和完成的時間戳記。 |
副產品 | results 物件。包含 PipelineRun 產生的 TaskRunResults。內容採用 Base64 編碼。 |