Jenkinsでビルド後にビルドが成功または失敗した場合、シェルスクリプトを実行しようとしています。ターゲットを実行する以外のシェルスクリプトを実行するビルド後のオプションは表示されません。
ビルド後タスク プラグインで非常に簡単に行えます。
Groovy Post Build -を使用して任意のコマンドを実行することもできます。これにより、コマンドの実行時期などを詳細に制御できます。失敗または不安定なビルドの場合、「非難の指」シェルスクリプトを実行するためにそれを使用します。
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
}
(私たちのコマンドは、最後の安定したビルド日付と現在の時間をパラメーターとして取るため、ビルドを壊した可能性のある人を調査することができますが、同様の方法で好きなコマンドを実行できます)
あなたの質問を正しく読んでいるなら、ビルドのビルド後のアクション部分でスクリプトを実行したいでしょう。
私自身は PostBuildScriptプラグイン を使用して、ビルドがアーティファクトをアーカイブし、テスト結果を公開した後にgit clean -fxd
を実行します。私のJenkinsスレーブにはSSDディスクがあるため、生成されたファイルをワークスペースに保持するスペースがありません。
バッチタスクプラグイン を使用して、これを実行できるはずです。
ビルド後タスク プラグインも可能です。
ビルド後のシェルスクリプトを個別のJenkinsジョブとして設定し、ビルド後の手順としてトリガーする必要があります。 Parameterized Trigger Plugin を使用する必要があるようです。標準の「他のプロジェクトのビルド」オプションは、ビルドのトリガーが成功した場合にのみ機能するためです。