Jenkins とbuild-pipeline-pluginを使用して、war プロジェクトのビルド パイプラインをセットアップしました。これは、2 つの実際のジョブと、Q&A に展開される最終的な手動ジョブで構成されます。
各ジョブは、同じプロジェクトを実行し、異なるプロファイルをアクティブにするように構成されています。最初のジョブ (高速) はデフォルトのビルドで、ソースをコンパイルして単体テストを実行します。2 番目のジョブである browser は、Selenium ベースのブラウザー テストを実行します。3 番目のジョブは、war ファイルを Q&A サーバーにデプロイします。
各ジョブは新しい war ファイルを生成しますが、これには次の 2 つの理由があります。
- Q&A にデプロイするときなど、必要な目標のみが実行されますが、WAR ファイルには多くのファイルが含まれているため、ビルドにはまだ時間がかかりすぎます。
- Jenkins のビルド番号に基づいて、アーティファクトのビルドを特定します。これまでは「fast」ジョブの番号でしたが、現在は「qa-deploy」ジョブの番号です。
最初のジョブの成果物を再利用するように Jenkins や Maven を構成するにはどうすればよいですか?
私たちのプロジェクトには単一の戦争モジュールがあり、それを分割すると変更を文書化する作業が増え、すべてを一度にまとめる方が簡単になるため、プロジェクト全体の構造を変更しないソリューションを好みます。