2017-06-02 17 views
0

ローカルのリポジトリが定義されたローカルのArtifactoryサーバがあります。私は仮想リポジトリをセットアップし、それを使って取得されたJARファイルに署名するように設定しました。Artifactory JAR署名仮想リポジトリにローカルスナップショットリポジトリがキャッシュされない

libs-signed仮想リポジトリはlibs-staging-locallibs-snapshot-localに接続されているので、これらの2つのリポジトリから任意のjarファイルを取得し、証明書で署名することができます。

署名仮想リポジトリを経由してステージングリポジトリからJARを取得した場合、初めて署名プロセスが終了するまで待つ必要がありますが、その後は仮想リポジトリキャッシュにより同じアーティファクトのリクエストが速くなります。

しかし、署名仮想リポジトリを介してスナップショットリポジトリからJARを取得した場合、JARが署名されている間は常に待ち時間があります(jarsignerプロセスがサーバーごとに起動されることを確認しました時間)。したがって、スナップショットリポジトリから生成された署名付きアーティファクトはキャッシュされません。私は2つのフェッチの間に新しいスナップショットバージョンが追加されていないことを確認したので、元の(署名されていない)ファイルはまったく同じです。

何が起こっているのか誰も知っていますか?署名されたスナップショットJARを仮想リポジトリにキャッシュさせるにはどうすればよいですか?

+0

一意のスナップショットまたは一意でないスナップショットを作成していますか? –

+0

同じバージョン番号(例:5.25-SNAPSHOT)に複数のJARがあるかどうかは、ユニークでない場合は「はい」です。私がArtifactory UIに入ると、そのバージョンの後ろに10個のJARがあります(それぞれタイムスタンプでマークされています)。しかし、同じJARを2回フェッチしても、Artifactoryがキャッシュするとは思っていました。 – StFS

答えて

0

キャッシングの動作は、一意でないスナップショットがどのように解決されているかによって異なります。
スナップショットは、署名の.jarは、例えば、キャッシュされる具体的なタイムスタンプ付きのアーティファクトを要求することで解決されている場合:

http://localhost:8081/artifactory/libs-snapshot/org/jfrog/test/multi1/3.5-SNAPSHOT/multi1-3.5-20170105.183200-4.jar 

ただし、スナップショットを要求することにより解決されるかどうか - 署名の.jarはキャッシュされませんが、例えば:

http://localhost:8081/artifactory/libs-snapshot/org/jfrog/test/multi1/3.5-SNAPSHOT/multi1-3.5-SNAPSHOT.jar 

理由そのような要求のために返された成果物が変更される可能性があり、それをキャッシュすることにより、Artifactoryが間違ったアーティファクトを返すことがあります。

+0

実際に私の問題は解決していませんが、この答えは「正しい」ようです。しかし、Artifactoryは、タイムスタンプの付いていないアーティファクトURLの背後にあるアーティファクトが以前に要求され検索された(したがってキャッシュされる)かどうかを認識できなければなりません。私はそれがしないことに失望しています。 – StFS

関連する問題