web-dev-qa-db-ja.com

ジェンキンス、指紋のアーティファクトはどういう意味ですか?

私の理解

これまでアーティファクトを理解した限り、それは私のプロジェクトが未完成のビルドタスクのアーティファクトを参照しているかどうかを知るために使用されていたことです。

問題

(ジェンキンスのサイトでも)もっと読んでみましたが、彼らが今何をしているのか簡単に理解できません。ビルドをプロモートすると、アーチファクトをフィンガープリントできることがわかります。それはどういう意味ですか?

16
Cher
  • アーティファクト-ビルドプロセス中に生成されたもの。
  • フィンガープリントアーティファクト-選択したアーティファクトのMD5チェックサムを記録します。

次に、MD5チェックサムを使用して、特定のアーティファクトを元のビルドに追跡できます。

15
Slav

@Slavの回答に加えて、FingerprintingはJenkinsがファイルのどのバージョンが依存関係のどのバージョンによって使用されているかを追跡するのに役立ちます

例を引用して Jenkins Page からどのように機能するか:

例:

  • TOPプロジェクトに依存するMIDDLEプロジェクトがあり、それがBOTTOMプロジェクトに依存しているとします。

  • BOTTOMプロジェクトに取り組んでいます。 TOPチームは、彼らが使用しているbottom.jarがNullポインター例外を引き起こしたと報告しました。これは、あなた(BOTTOMチームのメンバー)がBOTTOM #32で修正したと考えました。

  • Jenkinsは、MIDDLEビルドとTOPビルドがbottom.jar #32を使用している(または使用していない)ことを通知します。

どのように機能しますか?

ファイルのfingerprintは、単なるMD5チェックサムです。 Jenkinsはmd5sumのデータベースを維持し、md5sumごとに、どのプロジェクトのどのビルドが使用されたかを記録します。このデータベースは、ビルドが実行され、ファイルがフィンガープリントされるたびに更新されます。

過度のディスク使用を避けるために、Jenkinsは実際のファイルを保存しません。代わりに、md5sumとその使用法を保存するだけです。これらのファイルは、

$JENKINS_HOME/fingerprints
7
Arpit