84

Jenkinsでビルドが成功したか、ビルド後が失敗した場合に、シェルスクリプトを実行しようとしています。ターゲットの実行を除いて、いくつかのシェルスクリプトを実行するためのビルド後のこのオプションが表示されません。

4

5 に答える 5

69

ビルド後のタスクプラグインで非常に簡単に実行できます。

ジェンキンス-

于 2012-10-11T11:03:45.600 に答える
10

Groovy Post Buildを使用して任意のコマンドを実行することもできます。これにより、コマンドの実行時期などを細かく制御できます。ビルドが失敗した場合や不安定な場合に、これを使用して「fingerofblame」シェルスクリプトを実行します。

if (manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)) {
  item = hudson.model.Hudson.instance.getItem("PROJECTNAMEHERE")
  lastStableBuild = item.getLastStableBuild()
  lastStableDate = lastStableBuild.getTime()
  formattedLastStableDate = lastStableDate.format("MM/dd/yyyy h:mm:ss a")
  now = new Date()
  formattedNow = now.format("MM/dd/yyyy h:mm:ss a")
  command = ['/appframe/jenkins/appframework/fob.ksh', "${formattedLastStableDate}", "${formattedNow}"]
  manager.listener.logger.println "FOB Command: ${command}"
  manager.listener.logger.println command.execute().text
}

(私たちのコマンドは、最後の安定したビルド日付と現在の時刻をパラメーターとして使用するため、ビルドを中断した可能性のあるユーザーを調査できますが、同様の方法で任意のコマンドを実行できます)

于 2012-10-03T16:23:51.960 に答える
6

私があなたの質問を正しく読んでいるなら、あなたはビルドのビルド後のアクション部分でスクリプトを実行したいと思うでしょう。

私自身、ビルドがアーティファクトをアーカイブし、テスト結果を公開した後に実行するためにPostBuildScriptプラグインを使用しています。git clean -fxd私のJenkinsスレーブにはSSDディスクがあるため、ワークスペースに生成されたファイルを保持するスペースがありません。

于 2012-06-26T18:27:48.617 に答える
3

あなたはバッチタスクプラグインでそれを行うことができるはずです。

  1. プロジェクトにバッチタスクを作成します。
  2. 同じプロジェクトを選択して、ビルド後の「バッチタスクの呼び出し」オプションを追加します。

別の方法として、ビルド後のタスクプラグインを使用することもできます。

于 2012-10-03T09:43:55.083 に答える
2

ビルド後のシェルスクリプトを個別のJenkinsジョブとして設定し、ビルド後のステップとしてトリガーする必要があります。標準の「他のプロジェクトをビルドする」オプションは、トリガービルドが成功した場合にのみ機能するため、パラメータ化されたトリガープラグインを使用する必要があるようです。

于 2012-06-22T17:02:34.937 に答える