コマンド時にそれ以上の実行を停止するには 失敗:
command || exit 0
コマンド時に実行を継続するには 失敗:
command || true
Jenkins は /bin/sh -xe
を使用してシェル ビルド ステップを実行しています デフォルトで。 -x
実行されたすべてのコマンドを出力することを意味します。 -e
スクリプト内のコマンドのいずれかが失敗した場合、失敗して終了することを意味します。
あなたのケースで起こったことは、あなたのgitコマンドが1で終了したことであり、デフォルトの -e
のために param を指定すると、シェルは 0 以外の終了コードを取得し、残りのスクリプトを無視して、ステップを失敗としてマークします。ビルドステップのスクリプトをここに投稿していただければ、これを確認できます。
その場合は、 #!/bin/sh
を入れてみてください スクリプトがオプションなしで実行されるようにします。または set +e
を実行します または、この動作をオーバーライドするために、ビルド ステップの上に同様のものを追加します。
編集:もう 1 つの注意点は、最後のコマンド シェル スクリプトで 0 以外のコードを返す 、このセットアップでもビルドステップ全体が失敗としてマークされます。この場合、単純に true
を置くことができます
関連する別の質問
プッシュするものが何もない場合、git は終了ステータス 1 を返します。シェル ビルド ステップの実行は、それぞれ失敗としてマークされます。 OR ステートメント || を使用できます。 (二重パイプ).
git commit -m 'some messasge' || echo 'Commit failed. There is probably nothing to commit.'
つまり、最初に失敗した場合は 2 番目の引数を実行します (終了ステータス> 0 が返されます)。 2 番目のコマンドは常に 0 を返します。プッシュするものが何もない場合 (終了ステータス 1 -> 2 番目のコマンドを実行)、echo は 0 を返し、ビルド ステップが続行されます。
ビルドを不安定としてマークするには、ビルド後のステップ Jenkins Text Finder を使用できます。コンソール出力を調べて、パターン (エコー) を照合し、ビルドを不安定としてマークすることができます。