如何使手动作业始终在 GitLab CI 上成功退出?

Posted

技术标签:

【中文标题】如何使手动作业始终在 GitLab CI 上成功退出?【英文标题】:How to make a manual job always exit with success on GitLab CI? 【发布时间】:2019-03-16 23:06:27 【问题描述】:

在我的 Gitlab CI 上,我将 gem https://rubygems.org/gems/brakeman 作为手动阶段运行。当它发现任何警告或错误时,在 Gitlab CI 上最后,经过所有代码,它会以error 1 退出并呈现为黄色。

我希望它始终成功退出 - 绿色。然后我会自己检查它的输出,看看它在我的代码中发现的警告和错误。

如何让它始终返回成功并以绿色呈现?

【问题讨论】:

能否请您将制动器的(完整)输出添加为文本? 如果你这样做了,那么运行这个工作就没有任何意义了,因为你可以在本地做这个并检查输出。 【参考方案1】:

您需要修改 Brakeman 命令以包含 --no-exit-warn--no-exit-error 选项。否则,如果遇到任何警告或可恢复的错误,它将设置一个非零错误代码。

我假设1 的退出代码不是来自 Brakeman 本身,因为这表明可能在报告生成期间引发了未处理的异常。

【讨论】:

【参考方案2】:

您应该能够在命令前添加 | true 以使其始终成功。

例如:gem https://rubygems.org/gems/brakeman | true

【讨论】:

以上是关于如何使手动作业始终在 GitLab CI 上成功退出?的主要内容,如果未能解决你的问题,请参考以下文章

如何将值传递给 Gitlab CI 作业

.gitlab-ci.yml配置参数

GitLab CI 手动启动作业(部署)

gitlab ci:手动或仅在 master 时运行构建作业

在 .gitlab.ci.yml 中并行运行作业

如何将 gitlab CI 作业设置为 true?