読者です 読者をやめる 読者になる 読者になる

Jenkinsのタスクでシェルスクリプトの終了コード1が返却されても処理を続行する #jenkins

Jenkinsタスク内に設定したシェルスクリプト/bin/sh -xeで実行されるため、コマンドの途中で終了コード0以外が返却されるとタスクがエラーとして終了します。通常はこの挙動で問題ないのですが、場合によりそのまま処理を継続させたいこともあります。解決策を調べてみました。

解決策

Jenkinsではありませんが、シェルスクリプトの解決法を示している記事がありました。

Bash - `set -e` しているときにコマンドの戻り値を得る - Qiita [キータ]

この記事を参考にして、終了コード0以外が返却されても処理を継続したコマンドの末尾に「&&:」を付与することにより解決しました。 もちろんそういったコマンドが複数ある場合「set +e」することを検討しても良さそうです。