0

ビルドとリリースのプロセスを自動化するために Maven Release Plugin を使用しています。問題なく動作していますが、直面している問題が 1 つあります。

15 分ごとにトランクをチェックするジョブを作成しました。変更が見つかった場合は、ビルドとリリースのプロセスが開始され、正常に動作します。

しかし、小さな問題は、release:prepareが実行されているときに、タグを作成し、トランク/pom.xml バージョン (SNAPSHOT を使用) を次のリリース バージョン SNAPSHOT に自動インクリメントすることです。

現在のビルド バージョンが 2.0-SNAPSHOT であるとします。ビルドに成功したら、2.0 のみ (SNAPSHOT なし) でタグを作成します。また、トランク内の pom.xml を 2.1-SNAPSHOT に自動インクリメントします。

問題は、Jenkins (crontab) が 15 分ごとにトランクをチェックすると、トランク内に新しいバージョン (つまり pom.xml ) が見つかることです。そして、別のビルドを再度作成します。このプロセスは何度も繰り返されています。トランクにコードの変更がないことはわかっていますが、バージョンだけがrelease:prepareコマンドによってインクリメントされています。

以下に、参照用に Jenkins のスクリーン ショットを示します。

ジェンキンスの設定

どんな助けでも大歓迎です。

前もって感謝します。

4

2 に答える 2

1

通常、Maven スナップショット ビルドはソース コードの変更によってトリガーされ、リリース ビルドは必要に応じて (コードがリリースされたときに) 作成されます。これは、Maven リリース プラグインでサポートされているワークフローです。

Jenkins M2 リリース プラグインもインストールされているかどうかは不明でしたか? ジョブでリリース ビルドをトリガーするための便利な「リリース」ボタンを提供します。

于 2013-09-13T06:13:43.523 に答える
0

標準ビルドセクションの「目標とオプション」セクションにリリースターゲットを入れたようです。これは、新しいコードがチェックインされたときに発生するビルドを定義します。

「目標とオプション」を次のように変更する必要がありますclean deploy(スナップショットをリモートリポジトリにデプロイするだけです.

次に、「ビルド環境」セクションの下にあるチェックボックス「Maven リリース ビルド」をクリックする必要があります。標準のリリース コマンドが事前に入力されます。これらのコマンドは、ジョブ フロント ページの [Maven リリースの実行] ボタンをクリックした場合にのみ実行されます。

ここに画像の説明を入力

于 2013-09-13T13:48:18.167 に答える