在詹金斯的配置,我有以下代码:詹金斯构建运行脚本,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