私のチームは機能ブランチを使用して新しい機能を実装し、ユーザーが使用できるようにスナップショット ビルドをリモート リポジトリに継続的にデプロイしています。したがって、「デプロイ」は実際には「リモート Maven リポジトリへの配布」を意味するだけです。現在、次の理由により、マスター ブランチの継続的インテグレーション ビルドのみを実行しており、フィーチャー ブランチでは実行していません。Maven を使用してプロジェクトをビルドし、JavaDoc とソースを JAR と共に配布しています。
私の計画は、各機能ブランチのビルドに分類子を追加することであり、次のような成果物を作成およびデプロイするときに使用されることを期待していました。
- ブランチ: マスター
- 分類子: なし
アーティファクト:
foo-${version}
.jar、foo-${version}-sources
.jar、foo-${version}-javadoc.jar
ブランチ: 機能-X
- 分類子: myfeature
- アーティファクト:
foo-${version}-feature.jar
、foo-${version}-sources-feature.jar
、foo-${version}-javadoc-feature.jar
アーティファクトの正確な名前はあまり気にしません。機能ブランチ用にメイン、ソース、および JavaDoc アーティファクトを個別に必要とするだけです。JavaDoc プラグインもソース プラグインも分類子が構成されているとは見なさないため、マスター ビルド用に作成されたアーティファクトを効果的に上書きします。
おそらく問題は解決しますが、artifactId を変更したくはありません。機能ブランチと Maven との継続的統合にどのようにアプローチしますか?