在Jenkins官网再次查阅Jenkins功能介绍资料时,看到有10个功能,而这10个功能最陌生的是File fingerprinting的功能。
已经使用Jenkins好久了,之前也曾得知有这个功能,但从未实践过该功能,很好奇,于是试用并记录。
File fingerprinting详细介绍如下:
File fingerprinting: Jenkins can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Jenkins, and is ideal for projects to track dependency.
翻译:Jenkins可以跟踪哪次构建产生了哪些jar,以及哪些构建使用了哪些版本的jar等等。这甚至适用于Jenkins之外产生的jar,是项目依赖跟踪的典范。
如何设置fingerprints?
JOB→配置→构建后操作→增加构建后操作步骤→Record fingerprints of files to track usage
fingerprints是怎样工作的呢?
文件指纹(fingerprints)是一个简单的MD5校验和。Jenkins维护了一个md5sum数据库,并且对于每个md5sum,Jenkins记录了哪些项目的哪些构建使用了它。在每次构建运行和文件被采集指纹时这个数据库会更新。
为了避免过多的磁盘使用,Jenkins不存储实际的文件。相反,它只存储md5sum和它的使用记录。这些文件可以在$JENKINS_HOME/fingerprints查看。
插件可以存储这些记录的额外信息,例如Deployment Notification Plugin通过文件指纹(fingerprints)跟踪由chef/puppet部署到server的文件。
如何使用fingerprints呢?
<JENKINS_URL>→<JOB_NAME>→<BUILD_NUMBER>→See Fingerprints(左侧导航栏)
可以在这个URL查看fingerprints信息:<JENKINS_URL>/<JOB_NAME>/<BUILD_NUMBER>/fingerprints
可以点击详细信息链接查看其他信息,如:使用该文件的所有项目和构建、该文件的来源等
官方文档: