8

私たちの成果物には、最大 5 つの一意のスナップショットを処理するように定義されたスナップショット リポジトリがあります。ファイル名に -SNAPSHOT-.extension を追加しました。SNAPSHOT もタイムスタンプに変換されます。ビルドは gradle で行われ、アーティファクトは Bamboo と Artifactory プラグインで公開されます。

artifactory にデプロイされたファイル ...

inhouse-snapshots:com/example/project/subproject/trunk-SNAPSHOT/subproject-trunk-SNAPSHOT-79.amp

になる...

inhouse-snapshots:com/example/project/subproject/trunk-SNAPSHOT/subproject-trunk-20120321.154621-1-79.amp

これは問題なく、ビルドごとにビルド番号が増分された新しいファイルが追加されますが、タイムスタンプ番号は常に 20120321.154621-1 のままであるため、次のようなファイル リストがあります。

  • サブプロジェクト-トランク-20120321.154621-1-79.amp
  • サブプロジェクト-トランク-20120321.154621-1-80.amp
  • サブプロジェクト-トランク-20120321.154621-1-81.amp

別のディレクトリ レイアウトの解決策や提案がある人はいますか?

4

2 に答える 2

11

ご覧のとおり、デプロイされたファイル名に付けたビルド番号は分類子として識別されます。これは、Maven が一意でないスナップショットでビルド番号を指定していないためです。

Artifactory は、アーティファクトの「バッチ」に対してタイムスタンプとビルド番号の同じ組み合わせを維持し、新しい「バッチ」を検出すると、タイムスタンプとビルド番号を「バンプ」します。一意でないスナップショットを一意のスナップショットに変換する目的で Artifactory がアーティファクトの「バッチ」を検出する方法は 2 つあります。

  1. アーティファクトは、アーティファクト (分類子なし)、POM、添付されたアーティファクト (分類子あり) の正確な順序でデプロイされます。POM の後に展開される最初の通常のアーティファクトは、新しい「バッチ」を作成します。したがって、新しいタイムスタンプとビルダー番号を提供します。

  2. キー「build.timestamp 」のマトリックス パラメータとミリ秒ベースのエポック タイムスタンプの値を使用してデプロイされたアーティファクト。同じタイムスタンプ値を持つアーティファクトは、同じ「バッチ」の下に関連付けられます。

展開されたファイルからビルド番号を省略し、「build.timestamp」マトリックス パラメータを使用して展開するか (Artifactory が新しい展開ごとに「バッチ」を作成するようにするため)、一意のスナップショットを使用して既にファイルを展開する必要があります。

于 2012-03-28T13:07:09.923 に答える