私は現在、多くの人のルールを定義する環境で働いています。現在、Hudson と Artifactory を使用していますが、Jenkins と Nexus への切り替えが移行コストに見合うかどうかを評価したいと思います (ただし、これは問題ではありません)。
それを評価するために、Maven、Jenkins、Nexus をローカルでセットアップし、ソリューションを比較できるように、以前のセットアップをできるだけ多く使用するセットアップを見つけようとしました。ここでの問題は次のとおりです。
- 既存の POM を使用してビルドし、Jenkins を介してデプロイすると、古い環境に自動的にデプロイされます。
その後、Maven でファイルの
deploymentManagement
セクションを定義しようとしましたが、これは許可されていません (Mavenの構成を参照してください。.settings
注: インストールおよびユーザー構成を使用して、共有プロジェクト情報を追加することはできません (設定や会社全体など)。
- もちろん、全体をコピーして、各 POM 内の distributionManagement を変更することもできますが、異なるインストールで同じ (コピーされていない) 例を使用したいと考えています。
現在のルート POM には、次のセクションが含まれています。
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>company-central</id>
<name>Company central maven respository</name>
<url>https://company.com/artifactory/libs-releases</url>
</repository>
<snapshotRepository>
<id>company-snaps</id>
<name>company-snapshots</name>
<url>https://company.com/artifactory/libs-snapshots</url>
</snapshotRepository>
<downloadUrl>https://company.com/artifactory/libs-releases</downloadUrl>
</distributionManagement>
同じ POM を使用し、異なるリポジトリ マネージャーにデプロイする最も簡単な方法は何ですか?
PS:さまざまな展開シナリオ用に maven pom ファイルのセットアップを読みましたが、(私のコンテキストでは) 好きではありません。異なる設定で複数のリポジトリに Maven アーティファクトを展開することは、実際には別の問題です。Maven での複数のデプロイは興味深いアプローチですが、この目的のためだけに多くの POM を変更する必要があります。