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