在詹金斯的配置,我有以下代碼:詹金斯構建運行腳本,1號出口,但它並不標誌着構建是失敗的
sh example.sh test
example.sh具有下面的代碼:
aws s3 cp ./Bucket $S3BUCKET --recursive --content-type "video/mp4" --cache-control "max-age=$MAXAGE" --exclude "*" --include "*.mp4" --profile $PROFILE
if [ "$?" -ne 0 ]; then
exit 1
fi
當我查看控制檯輸出時,運行上述命令時出現錯誤,但它不會退出1並將構建標記爲失敗。我看到錯誤文字「無法將文件部署到S3存儲桶」,但該版本未標記爲故障。所以1號出口不運行。
這是爲什麼發生?
您是否嘗試過運行'AWS S3 CP構建失敗...'命令手動,看看它正確設置$?錯誤?另外在jenkins腳本中,'-e'標誌可能會在之前的某個位置用set + e命令取消設置。 – izzekil
你是什麼意思由jenkins腳本中的'-e'標誌可能會被設置在前面的某個位置+ e –
我的意思是默認情況下,Jenkins shell腳本調用帶有標誌'-xe'的shell。 -x用於廣泛的日誌記錄,'-e'用於任何命令返回非零退出代碼時立即中止腳本執行。 – izzekil