Mavenスナップショットリポジトリとリリースリポジトリ
-
07-07-2019 - |
質問
スナップショットリポジトリとリリースリポジトリの違いは何ですか?
これは、リポジトリ(Artifactory、Nexusなど)のセットアップに関するものです
解決
リリースアーティファクト
これらは、特定の特定の時点のリリースです。リリースされたアーティファクトは、それらに依存するビルドが時間の経過とともに再現可能であることを保証するために、堅牢で安定しており、永続的であると見なされます。リリースされたJARアーティファクトはPGP署名に関連付けられ、チェックサムはバイナリソフトウェアアーティファクトの信頼性と整合性の両方を検証します。 Central Mavenリポジトリにはリリースアーティファクトが格納されます。
スナップショットアーティファクト
スナップショットは進行中の作業をキャプチャし、開発中に使用されます。スナップショットアーティファクトには、“ 1.3.0”などのバージョン番号の両方があります。または“ 1.3”タイムスタンプ。たとえば、commons-lang 1.3.0のスナップショットアーティファクトの名前は、commons-lang-1.3.0-20090314.182342-1.jarです。
refcard <から取得/ p>
他のヒント
リリースリポジトリはリリースを保持し、スナップショットリポジトリはスナップショットを保持します。 Mavenでは、スナップショットは-SNAPSHOTで終わるバージョンのアーティファクトとして定義されます。デプロイされると、スナップショットはタイムスタンプに変わります。定義により、スナップショットは可変であり、リリースは不変です。通常、スナップショットを失うかどうかは気にしませんが、リリースを失う場合は気にするため、Nexusはそれらを別々に保存する理由です。この方法でスナップショットのクリーンアップを簡単に処理できます。
スナップショットは、バージョン番号を-SNAPSHOTSとして提供するというアイデアです。開発中です。いつでも変更できます。
内部リポジトリは、バージョン番号が固定されたリリースリポジトリです。 SNAPSHOTSは変更できますが、そのアーティファクトはリリース後も変更されません。
通常、Mavenには2種類のビルドがあります:
1)スナップショットビルド:SNAPSHOTは、通常の特定のバージョンではなく、現在の展開コピーを示す特別なバージョンです。 Mavenは、リモートリポジトリ内のすべてのビルドのバージョンをチェックします。スナップショットビルドは開発ビルドにすぎません。
2)リリースビルド:リリースとは、ビルドのバージョンIDでスナップショットを削除することです。これらは通常のビルドバージョンです。
スナップショットアーティファクトとリリースアーティファクトは、それぞれスナップショットへのプッシュ、リポジトリのリリースです。
ここでのスナップショットとは、凍結されて変更されないスナップショットを意味するものではありません。スナップショットは、変更が新しいバージョン番号で表されるほど大きくないスナップショットをいくつかカバーします