各アプリのCI/CD環境をJenkinsで構築中、1日の業務の1/3をロストさせたこの問題をメモしておくことに苦笑
失敗
次の内容をジョブに「シェルの実行」などのシェルスクリプトに設定しているとタイトルのエラーが出てしまう。
ちなみに#!bin/sh
にオプションを付けてないため異常終了ではなく正常終了する。
# !/bin/sh
# TEST = "++++"
TEST = "++ERRORS++"
echo "$TEST"
if [ "$TEST" =~ ERRORS ] ; then
exit 1
fi
echo "done!!"
exit 0
成功
スペースを消し、変数サイドのダブルクォーテーションを外してif [[ ~ ]]
スタイルに調整するとタイトルのエラーは出なくなり、ちゃんと異常終了してくれる。
# !/bin/sh
# TEST="++++"
TEST="++ERRORS++"
echo "$TEST"
if [[ $TEST =~ ERRORS ]] ; then
exit 1
fi
echo "done!!"
exit 0