現在、私のデプロイ ワークフローには、各 Maven プロジェクト ディレクトリへの手動での (つまり、スクリプトでの) cd-ing と実行が含まれmvn install
ます。問題は、ローカル リソース、つまり、私が作成し、積極的に開発/保守している他の社内コードに関するものです。これらのリソースが見つからない場合に、これらのリソース自体をビルドするように maven に指示する方法がわかりません。理想的には、最上位のアプリケーションを再パッケージ化する必要があるたびに、少なくとも 1 つのファイルが変更された依存ライブラリを再構築します。
3 に答える
(マルチモジュール) プロジェクトで他の社内リソースを使用している場合、実際に必要なのは、それらすべてのリソースを常に再構築することではなく、ローカルの Maven リポジトリを使用することです。ssh または HTTP トランスポートを使用してリソースがデプロイされる単純なリポジトリ (デプロイ プラグインを参照)、またはArchiva、Artifactory、Nexusなどの実際のアーティファクト マネージャーにすることができます。
リポジトリ マネージャーは、デプロイされたアーティファクトを保持するだけでなく、対応するリリースが作成された後に古いスナップショットを消去し、中央を含む他のリポジトリのローカル キャッシュとして機能することもできます。
すべてのモジュールを含む親 POM を用意します。親をビルドすると、親 POM ファイルの一部であるすべてのモジュールもビルドされます。
子に親がいる限り、親から多くのものを継承できます。
コードを自動的にビルドするようにJenkinsを設定することを検討してください。Jenkinsには、新しく構築されたアーティファクトに依存するプロジェクトを再構築する便利な機能があります。コードをコミットするだけで、ビルドを自動的にトリガーできます。
複数の開発マシンを使用している(またはチームで作業している)場合は、JenkinsとNexus(その他のオプション:Artifactory、Archiva)を組み合わせて、共有アーティファクトの共通ストアを提供します。これらのツールは、Mavenビルドをサポートするように設計されています。