0

jenkins/hudson に maven2/3 プロジェクトがあり、対応する config.xml ファイルで構成された maven プロジェクトでいくつかの目標を実行する前に、プレステップ中にシステム groovy スクリプト (システム groovy プラグインを参照) を実行したいとしますジョブ全体を中断し、何らかの条件が満たされた場合に SUCCESS に設定します (たとえば、前のジョブのログ ファイルで何かを見つけたとします)。私は MAVEN が目標の実行を開始したくありません

私が試してみました

import hudson.model.*
def thr = Thread.currentThread()
def build = thr?.executable
build.executor.interrupt(hudson.model.Result.SUCCESS)
out.print "HELLO"

しかし、何も起こらず、ログには「HELLO」さえ出力されます。しかし、ビルドは中止されます。

Parsing POMs
Discovered a new module ...
Modules changed, recalculating dependency graph
...
...jdk1.6.0_22/bin/java -Xmx512m -cp ...
<===[JENKINS REMOTING CAPACITY]===>Build was aborted

御時間ありがとうございます。

4

1 に答える 1

0

あなたがここであなたの正確な問題ではなくいくつかの解決策を説明したので、私はあなたが何を望んでいるのかを完全には理解していません。私はあなたの問題にも役立つかもしれない3つのプラグインを知っています:

  • ビルドプラグインに失敗すると、ジョブの結果を設定でき、それ以上の処理を停止できます。成功を含む任意のステータスを設定できます。
  • 条件付きビルドステッププラグインを使用すると、子ビルドステップの条件を定義できます。条件が満たされると、子が実行されます。
  • m2追加ビルドステップ-jenkinsのMavenジョブでMavenビルドの前後にビルドステップを実行できます。最近、このプラグインはコアjenkinsの一部であることに注意してください。ここに画像の説明を入力してください

したがって、基本的な考え方は、条件付きビルドステップをビルド前のステップにジョブに追加でき、子ステップが1つの失敗(ビルドインスタンス)になる可能性があるということです。下の画像を参照してください。

于 2012-07-08T20:35:11.513 に答える