0

Jenkins + Maven プラグインの質問: スナップショット依存関係の新しいバージョンによってビルドがトリガーされたときに Jenkins に「mvn test」を実行させたいのですが、SCM の変更によってビルドがトリガーされたときに「mvn deploy」を実行します。これを行う方法がわかりません。

裏話: 独自の ant + ivy + jenkins ビルド システムがあり、Maven に移行することがどれほど実用的かを理解しようとしています。一般的なセットアップ:

  • 数十のJavaプロジェクトがあり、それらの間にかなり複雑な依存関係チェーンがあります(ほとんどすべてのプロジェクトは、活発に開発されているいくつかの汎用ライブラリに依存しています)

  • すべてのプロジェクトは、スナップショット ビルドとして Ivy リポジトリにデプロイされます。内部プロジェクトに依存するすべてのプロジェクトは、そのプロジェクトの現在のスナップショット バージョンに依存します。

  • プロジェクトにソースの変更がある場合、jenkins は SCM の変更を取得し、新しいスナップショット バージョンをデプロイします。

  • アップストリーム プロジェクトが新しいスナップショットをビルドしてデプロイすると、Jenkins はすべてのダウンストリーム プロジェクトでテストを実行しますが、デプロイはしません。これは、ダーク アント マジックによって行われます。

Jenkin の maven プラグインを使用して最後のポイントを複製するのに苦労しています。開発者は 1 日のほとんどを新しいスナップショット バージョンのダウンロードに費やすため、ビルドごとに新しいスナップショットを展開することはできません (一部のアップストリーム プロジェクトは非常に活発に開発されているため、各プロジェクトは 1 日に数十回ビルドされます)。

Jenkins の Maven プラグインを構成して、SCM の変更と依存関係の変更で異なる目標を実行する方法について何か考えはありますか?

4

2 に答える 2

0

数年後、この質問の円を閉じるには--

jar ファイルの再ダウンロードは、私が思っていたほど大きな問題ではないことがわかりました。通常、開発者は intellij のみを使用します。この場合、スナップショットを解決する必要はまったくありません。または、最新の jar でデプロイする必要がない限り、オフライン モードで -o を使用します。結局のところ、ダウンロードに多くの時間が費やされているわけではありません。

そのため、これを行う方法はまだわかりませんが、おそらくそれを理解しようとする価値はありません。

于 2015-04-27T02:47:56.700 に答える