詹金斯,指纹伪影是什么意思?

jenkins, what does fingerprint artifacts means?

我的理解

据我到目前为止对工件的理解,它用于了解我的项目是否引用未完成的构建任务的工件。

问题

我尝试阅读更多内容(也在 jenkins 网站上),但我不确定我是否很容易理解他们现在所做的事情。我知道当我推广构建时,我可以对工件进行指纹识别。那是什么意思?

  • 工件 - 在构建过程期间产生的任何东西。
  • 指纹工件 - 记录所选工件的 MD5 校验和

然后您可以使用 MD5 校验和将特定工件追溯到它来自的构建。

添加到@Slav 的回答,Fingerprinting 帮助 Jenkins 跟踪哪个版本的依赖项使用了哪个文件版本 .

引用 Jenkins Page 中的示例及其工作原理:

例如:

  • 假设您有 TOP 项目依赖于 MIDDLE 项目,而后者又依赖于 BOTTOM 项目。

  • 您正在处理 BOTTOM 项目。 TOP 团队报告说,他们正在使用的 bottom.jar 导致空指针异常,您(BOTTOM 团队的成员)认为您已在 BOTTOM #32 中修复了该异常。

  • Jenkins 可以告诉您哪些 MIDDLE 构建和 TOP 构建正在使用(或不使用)您的 bottom.jar #32.

它是如何工作的?

文件的 fingerprint 只是一个 MD5 校验和。 Jenkins 维护一个 md5sum 的数据库,对于每个 md5sum,Jenkins 记录使用了哪些项目的构建。每次构建运行和文件指纹识别时都会更新此数据库。

为避免磁盘使用过多,Jenkins 不存储实际文件。相反,它只存储 md5sum 及其用法。这些文件可以在

中看到
$JENKINS_HOME/fingerprints