Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

オリジナル: Fingerprint

相互依存のプロジェクトがある場合、プロジェクトのどのバージョンが、他のプロジェクトのどのバージョンで使用されているのか把握するのは難しくなります。Hudsonはこれを簡単にする"ファイルの指紋"を提供します。

例えば、MIDDLEプロジェクトに依存するTOPプロジェクトがあり、MIDDLEプロジェクトはBOTTOMプロジェクトに依存するとします。あなたはBOTTOMプロジェクトで作業しています。TOPチームが彼らが使用している bottom.jar でNPEが発生すると報告すると、あなたは、BOTTOMプロジェクトの#32で修正したはずと思いました。Hudsonは、どのMIDDLEプロジェクトのビルドとTOPプロジェクトが、 bottom.jar の#32を使用しているのか教えてくれます。

どうやって設定するの?

ファイル指紋を使用するには、関連するすべてのプロジェクトが、jarファイル(この場合は、 bottom.jar )のファイル指紋を記録するように設定されている必要があります。

例えば、どのBOTTOMビルドがどのTOPビルドに使用されるのか追跡したいだけであれば、TOPとBOTTOMが bottom.jar を記録するように設定します。どのMIDDLEビルドがどの bottom.jar を使用しているのかも知りたいのであれば、MIDDLEも設定します。

ファイル指紋の記録は簡単な操作なので、以下にあげる全ファイルのファイル指紋をとにかく記録するのが一番簡単です。

  1. プロジェクトが作成するjarファイル
  2. プロジェクトが依存するjarファイル

ファイル指紋を記録するファイルのサイズやビルドの数ではなく、ファイル指紋を記録するファイルの数がディスク容量に大きく影響を与えます。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 $HUDSON_HOME/fingerprints.

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

  1. Go to BOTTOM #13 build page.
  2. Click the "fingeprint" icon of bottom.jar in the build artifacts
  3. You'll see all the projects and builds that uses it.

You develop the TOP project and you want to know which build of bottom.jar and middle.jar you are using in TOP #10.

  1. Go to TOP #10 build page.
  2. Click "see fingerprints"
  3. You'll see all the files fingerprinted in TOP #10, along with where they came from.

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.

  1. Go to TOP #7 build page.
  2. Click the "fingeprint" icon of top.jar in the build artifacts
  3. You'll see all the TOP-TEST builds that used it.
  4. Click it and you'll be taken to the appropriate TOP-TEST build page, which will show you test reports.
  5. If there's no TOP-TEST builds displayed, then that means TOP-TEST build didn't run against TOP #7. Maybe it skipped TOP #7 (this can happen if there are a lot of TOP builds in a short period of time), or maybe a new TOP-TEST build is in progress.
  • No labels