证据摘要
证据摘要是指与一组工件相关的证据片段的集合。 管道当前使用两种方法来收集和汇总证据: v1 和 v2。 意图是 v1 被 v2 取代。
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 证据摘要。