在Jenkins官网再次查阅Jenkins功能介绍资料时,看到有10个功能,而这10个功能最陌生的是File fingerprinting的功能。数据库
已经使用Jenkins很久了,以前也曾得知有这个功能,但从未实践过该功能,很好奇,因而试用并记录。ide
File fingerprinting详细介绍以下:ui
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.idea
翻译:Jenkins能够跟踪哪次构建产生了哪些jar,以及哪些构建使用了哪些版本的jar等等。这甚至适用于Jenkins以外产生的jar,是项目依赖跟踪的典范。spa
如何设置fingerprints?插件
JOB→配置→构建后操做→增长构建后操做步骤→Record fingerprints of files to track usage翻译
fingerprints是怎样工做的呢?server
文件指纹(fingerprints)是一个简单的MD5校验和。Jenkins维护了一个md5sum数据库,而且对于每一个md5sum,Jenkins记录了哪些项目的哪些构建使用了它。在每次构建运行和文件被采集指纹时这个数据库会更新。md5
为了不过多的磁盘使用,Jenkins不存储实际的文件。相反,它只存储md5sum和它的使用记录。这些文件能够在$JENKINS_HOME/fingerprints查看。ci
插件能够存储这些记录的额外信息,例如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
能够点击详细信息连接查看其余信息,如:使用该文件的全部项目和构建、该文件的来源等
官方文档:
https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
https://wiki.jenkins-ci.org/display/JENKINS/Fingerprint