译自:http://wiki.hudson-ci.org/display/HUDSON/Fingerprint
当您的Hudson中存在相互依赖的项目时。它经常导致您在跟踪项目的这个版本的依赖另外项目的某一个版本时变得很困难。所以Hudson支持“文件指纹识别”以简化此步骤。
例如,假设您有个TOP项目依赖于MIDDLE项目,而它又依赖于BOTTOM 项目。现在您正在修改BOTTOM 项目。TOP(项目)的团队向您报告他们使用bottom.jar时产生一个网络错误。而您认为您已经在BOTTOM #32 项目里修正了它。Hudson可以告诉你当MIDDLE和 TOP构建时正在使用(或未使用)您的bottom.jar #32。
为了完成这项作业,所有相关的项目都需要进行配置,用来记录该jar文件的指纹(在这个例子中,我使用了bottom.jar 。)
例如,如果你仅仅想追踪BOTTOM构建被哪次TOP构建所引用,那么你就配置TOP和BOTTOM以记录bottom.jar。如果您也想知道MIDDLE构建对应哪个bottom.jar 的话,那么也要把MIDDLE配置进来。
由于记录指纹是一个很简洁的操作,最简单的做法就是仅仅从下述的所有指纹中遍历记录:
磁盘空间使用惯例下更多的是搜索受指纹影响的文件数量,反对根据文件的大小或者他们曾使用过的构建数量进行搜索。所以,除非您有足够的磁盘空间,您不应该使用“*/”标识指纹。
一个文件的指纹其实是一个简单的MD5总和检查码。Hudson维持一个md5sum数据库,Hudson将会为某个工程的某次构建记录一个md5sum。该数据库在任意一次构建运行和文件被指纹化时都会更新。
为了避免过多的使用磁盘空间,Hudson不存储实际的文件。相反,它仅仅存储md5sum和他们的使用情况。这些文件能在$HUDSON_HOME/fingerprints目录下看到。
以下是一些受益于这一功能的典型案例:
您正在开发BOTTOM 项目,然后你想知道谁在某次构建中正在使用BOTTOM #13。
如果您正在开发TOP项目,然后您想知道您的TOP #10在哪个构建使用了bottom.jar 和 middle.jar。
您有编译一个jar包的TOP 项目。您也有在运行完TOP项目后的TOP-TEST项目,以便在最新的TOP项目基础上进行广泛的集成测试。譬如,您想在TOP #7上知道测试结果。