证据摘要

证据摘要是指与一组工件相关的证据片段的集合。 管道当前使用两种方法来收集和汇总证据: v1v2。 意图是 v1v2 取代。

v2 证据收集

证据锁定程序存储三种实体: 资产,_证据_和 附件。 有关更多信息,请参阅 v2 证据格式

资产 (Asset)

资产表示可以测试和扫描的内容,例如存储库或 Docker 映像中的 Git 落实。

证据

证据表示扫描或测试的结果。 证据始终至少连接到单个资产。 允许多个资产。 例如,单个端到端测试套件可能同时测试多个资产。

连接

附件是可以附加到证据的任意数据。 通常是执行扫描或测试的工具的原始输出。

收集证据

使用 collect-evidence 脚本来收集证据。

证据摘要

v1 相反,v2 证据存储在平面层次结构中,其中每个证据都由其自己的散列标识。 此散列提供了一层完整性保护。 即,可以检测证据内容的任何修改。 由于每个证据都与一个或多个资产相关,因此证据摘要算法会根据资产 (而不是 v1 中的管道运行标识) 来发现相关证据。

根据以下情况总结了证据。

  • 管道运行标识: 根据管道运行标识对证据进行作用域限定。 作用域限定用于设置证据的上下文。
  • 资产: 资产是经过严格测试和扫描的基本实体。 这些资产包含各种表单,例如存储库中对 Docker 映像的现有 Git 落实。

在 CI 管道中,将根据以下内容汇总证据。

  • 对于证据摘要,作用域为 当前 CI 运行pipeline_run_id
  • 通过使用 list_工件 命令来计算资产列表,该命令列示该运行中的所有已保存工件。

在 CD 管道中,根据以下内容总结了证据。

  • 每个库存项目的 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 作用域。
    • inventory 结论 中创建的 CD-pipeline_run_id 标记读取的 CD 作用域。
    • 当前 pipeline_run_id 作为 CC 管道作用域。

有关更多信息,请参阅 库存。 有关基于预生产证据的 prod 摘要的更多信息,请参阅 收集证据摘要

缺省情况下会计算 v2 证据摘要。