How do I set it up?
To make this work, all the relevant projects need to be configured to record fingerprints of the jar files (in this case,
For example, if you just want to track which BOTTOM builds are used by which TOP builds, configure TOP and BOTTOM to record
Since recording fingerprints is a cheap operation, the simplest thing to do is just blindly record all fingerprints of the followings:
The disk usage is affected more by the number of files fingerprinted, as opposed to the size of files or the number of builds they are used. So unless you have a plenty of disk space, you don't want to fingerprint
How does it work?
The fingerprint of a file is simply a MD5 checksum. Hudson maintains a database of md5sum, and for each md5sum, Hudson records which builds of which projects used. This database is updated every time a build runs and files are fingerprinted.
To avoid the excessive disk usage, Hudson does not store the actual file. Instead, it just stores md5sum and their usages. These files can be seen in
How can I use it?
Here is a few typical scenarios that benefit from this feature:
You develop the BOTTOM project and you want to know who is using BOTTOM #13 in which builds
You develop the TOP project and you want to know which build of
You have the TOP project that builds a jar. You also have the TOP-TEST project that runs after the TOP project and does extensive integration tests on the latest TOP bits. You want to know the test results of TOP #7.