證明摘要

證明摘要是指與一組構件相關的證明片段集合。 管線目前使用兩種方法來收集及彙總證明: v1v2。 目的是讓 v2 取代 v1

v2 證明集合

證明櫃會儲存三種類型的實體: 資產、_證明_及 附件。 如需相關資訊,請參閱 v2 證明格式

資產 (Asset)

資產代表您可以測試及掃描的項目,例如儲存庫或 Docker 映像檔中的 Git 確定。

證明

一段證明代表掃描或測試的結果。 證明一律至少連接至單一資產。 容許多個資產。 例如,單一端對端測試套組可能一起測試多個資產。

連接

附件是可附加至證明片段的任意資料。 通常是執行掃描或測試之工具的原始輸出。

收集證明

使用 collect-evidence Script 來收集證明。

證明摘要

v1 相反,v2 證明儲存在平面階層中,其中每一個證明片段由其自己的雜湊識別。 此雜湊提供一層完整性保護。 也就是說,可以偵測任何對證明內容的修改。 由於每一個證明片段都與一個以上資產相關,因此證明摘要演算法會根據資產來探索相關證明 (相對於 v1 中的管線執行 ID)。

根據下列摘要證明。

  • 管線執行 ID: 根據管線執行 ID 來設定 Evidences 範圍。 範圍設定會設定證明的環境定義。
  • 資產: 資產是經過嚴格測試和掃描的基本實體。 這些資產包含各種形式,例如儲存庫中的現有 Git 確定至 Docker 映像檔。

在 CI 管線中,根據下列項目彙總證明。

  • 範圍是 現行 CI 執行pipeline_run_id 範圍,用於證明摘要。
  • 使用 list_artifact 指令來計算資產清單,該指令會列出該執行中所有已儲存的構件。

在裁談會的過程中,根據下列情況概述證據。

  • 每一個庫存項目的 provenance 欄位充當摘要的 asset。 我們有三種類型的資產清單:

    • 差異資產清單: 從部署環境中的前次部署 已修改 的資產。
    • 非差異資產清單: 未修改 部署環境中前次部署的資產。
    • 完整資產清單: 共同回應部署環境之所有庫存項目中的資產。
  • 每一個庫存項目的 pipeline_run_id 欄位充當摘要的 scope

    • 從庫存項目的 pipeline_run_id 讀取的 CI 範圍。
    • 現行 pipeline_run_id 作為 CD 管線範圍。

在 CC 流程中,根據下列內容彙總證據。

  • 每一個庫存項目的 provenance 欄位,作為摘要的 asset。 來自所有庫存項目的資產,這些項目會共同回應已部署環境上的最新項目。

  • 每一個庫存項目的 pipeline_run_id 欄位充當摘要的 scope

    • 從庫存項目的 pipeline_run_id 讀取的 CI 範圍。
    • 庫存結束 所建立的 CD-pipeline_run_id 標籤讀取的 CD 範圍。
    • 作為 CC 管線範圍的現行 pipeline_run_id

如需相關資訊,請參閱 庫存。 如需基於前置正式作業證明的 prod 摘要的相關資訊,請參閱 收集證明摘要

依預設會計算 v2 證明摘要。