4

Jenkins とbuild-pipeline-pluginを使用して、war プロジェクトのビルド パイプラインをセットアップしました。これは、2 つの実際のジョブと、Q&A に展開される最終的な手動ジョブで構成されます。

パイプラインを構築する

各ジョブは、同じプロジェクトを実行し、異なるプロファイルをアクティブにするように構成されています。最初のジョブ (高速) はデフォルトのビルドで、ソースをコンパイルして単体テストを実行します。2 番目のジョブである browser は、Selenium ベースのブラウザー テストを実行します。3 番目のジョブは、war ファイルを Q&A サーバーにデプロイします。

各ジョブは新しい war ファイルを生成しますが、これには次の 2 つの理由があります。

  1. Q&A にデプロイするときなど、必要な目標のみが実行されますが、WAR ファイルには多くのファイルが含まれているため、ビルドにはまだ時間がかかりすぎます。
  2. Jenkins のビルド番号に基づいて、アーティファクトのビルドを特定します。これまでは「fast」ジョブの番号でしたが、現在は「qa-deploy」ジョブの番号です。

最初のジョブの成果物を再利用するように Jenkins や Maven を構成するにはどうすればよいですか?

私たちのプロジェクトには単一の戦争モジュールがあり、それを分割すると変更を文書化する作業が増え、すべてを一度にまとめる方が簡単になるため、プロジェクト全体の構造を変更しないソリューションを好みます。

4

2 に答える 2

2

.war をビルドするプロジェクトを 1 つ作成し、Copy Artifact Plugin hereを使用してそのプロジェクトから依存プロジェクトにコピーすることができます。

于 2011-08-13T03:03:53.997 に答える
1

これを 2 つのモジュールに分割し、統合テストで war モジュールへの依存関係を宣言することをお勧めします。これには deploy アクションも含まれる場合があります。

これははるかに柔軟なアプローチであり、それほど手間がかかりません。

于 2011-08-05T10:55:38.007 に答える