私たちのコミット ビルド (Maven) は clean を使用しません。これにより、かなり高速になります。しかし、移動または削除された Test クラスのようなものを取得することがあります。
ビルドを再実行しようとするが、前もって mvn clean または clean ワークスペースを実行するように Jenkins を構成する方法はありますか?
「他のプロジェクトでパラメーター化されたビルドをトリガーする」ビルド後のアクションを使用するのはどうですか?
「ビルドするプロジェクト」には、ジョブ自体をトリガーする「$JOB_NAME」を使用します。「
ビルド時のトリガー」には、ドロップダウンから「失敗」を使用し
ます。次に、「パラメーターの追加」をクリックし、「現在のビルドパラメーター」を選択します。
最後に「事前定義済み」を追加します。パラメータ」、「REBUILD=TRUE」のようなものを設定します
ここで、SVN チェックアウトの前に実行するビルド ステップが必要です。
このプラグインをインストールします:
https://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep
これで、ジョブ構成の [ビルド環境] の下に、[SCM を実行する前に buildstep を実行する] のチェックマークが表示されます。
次に、OS に応じて、「シェルの実行」または「Windows バッチ コマンドの実行」のビルド ステップを追加します。そのビルドステップで、OS シェルの選択に基づいて、変数「REBUILD」が「TRUE」に等しいかどうかの簡単なチェックを実行します。true の場合、そこにあるすべてのコンテンツを削除して、シェルからワークスペースをクリーンアップします。必要に応じて、より具体的に SVN チェックアウト フォルダーのみを削除できます。
Retry-Failed-Builds-Pluginを使用して、そのような種類のジョブを再トリガーすることをお勧めします。
Retry-Failed-Build-Plugin は非推奨です。Naginator プラグインは、ハードな障害でない限りトリガーされません。少なくとも私にはうまくいきませんでした。Build Flow Plugin を試してみてください