Jenkins,指纹伪像是什么意思?

jenkins, what does fingerprint artifacts means?

我的理解

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

问题

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


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

然后您可以使用MD5校验和将特定的工件追溯到其来源。


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

Jenkins引用了一个示例及其工作方式:

例如:

  • 假设您有一个TOP项目,该项目依赖于MIDDLE项目,而该项目又依赖于BOTTOM项目。

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

  • Jenkins可以告诉您正在使用(或不使用)bottom.jar #32MIDDLE版本和TOP版本。

它如何工作?

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

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

中看到

1
$JENKINS_HOME/fingerprints