Ale*_*ber 5 shell gitlab gitlab-ci
在我们的工作中,.gitlab-ci.yml我们有这样的工作:
deploy:
stage: deploy
script:
- ./scripts/deploy.sh $INSTANCE_NAME
Run Code Online (Sandbox Code Playgroud)
在我们里面scripts/deploy.sh我们有
if ! [ <some error condition> ]; then
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
当错误实际触发并且我们以状态 1 退出时,我们还想传递一条错误消息,因为否则我们只会在 Gitlab 作业输出中得到一个空原因:
ERROR: Job failed: Process exited with: 1. Reason was: ()
Run Code Online (Sandbox Code Playgroud)
我们怎样才能让错误消息出现在括号内呢?
在 之前将错误消息作为脚本的一部分exit 1打印怎么样?
do_something
# check if it succeeded
if [[ ! $? -eq 0 ]]; then
print_error "The last operation failed."
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
这将显示为:
这样做的好处是,无论您是手动/本地运行脚本还是在 CI 作业中运行脚本,都会出现相同的错误消息。