我的理解
到目前为止,我对artifact的理解是用来确定我的项目是否引用了一个未完成的构建任务的artifact。
问题
我尝试阅读更多(包括Jenkins网站),但我不太确定现在它们到底是做什么。我知道当我推广一个构建时,我可以对artifact进行指纹识别。那么这意味着什么?
我的理解
到目前为止,我对artifact的理解是用来确定我的项目是否引用了一个未完成的构建任务的artifact。
问题
我尝试阅读更多(包括Jenkins网站),但我不太确定现在它们到底是做什么。我知道当我推广一个构建时,我可以对artifact进行指纹识别。那么这意味着什么?
然后,您可以使用MD5校验和将特定构件跟踪回其生成的构建过程。
除了@Slav的回答之外,Fingerprinting
可以帮助Jenkins跟踪哪个版本的文件被哪个依赖的版本使用。
引用来自Jenkins页面的示例和工作原理:
例如:
假设您有一个依赖于MIDDLE
项目的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