小编Seb*_*asH的帖子

Gitlab CI 忽略 1 以外的脚本退出代码

我正在尝试设置一个 GitLab 管道,以便某些exit_codes对于我正在执行的脚本来说是可以的。我尝试过 shell 和 ruby​​ 脚本,但两者似乎都有相同的行为。

test_job:
  stage: build
  image: ruby:3.0
  script:
    - chmod +x ci/wrap.sh
    - ./ci/wrap.sh
  allow_failure:
    exit_codes:
      - 64
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我只是执行脚本,仅此而已,我的期望是,最后执行的脚本用作作业的退出状态。

在脚本中,我只调用exit 64,在这种情况下这应该是“允许的失败”,但是管道日志表示作业由于退出代码 1 而失败:

管道错误

如何让 GitLab 接受此(或 ruby​​)脚本的退出代码作为作业退出代码?

bash continuous-integration exit-code gitlab gitlab-ci

19
推荐指数
1
解决办法
2万
查看次数