Gitlab CI:如何从脚本传递错误消息

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)

我们怎样才能让错误消息出现在括号内呢?

Gin*_*pin 3

在 之前将错误消息作为脚本的一部分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 作业中运行脚本,都会出现相同的错误消息。