【问题标题】:Gitlab CI: Fail pipeline if variable not set?Gitlab CI:如果未设置变量,则管道失败?
【发布时间】:2020-07-06 15:21:21
【问题描述】:

如果用户触发了管道并且没有设置名为options 的变量值,有没有办法让我的整个管道失败?

我尝试过诸如 only 和 rules 之类的事情,但他们只是跳过工作而不是失败所有工作。

【问题讨论】:

    标签: gitlab gitlab-ci gitlab-ci-runner


    【解决方案1】:

    是的,虽然你失败的方式取决于你的跑步者所基于的系统。

    例如,在基于 Linux/bash 的运行程序中,您只需要exit 1(而不是exit 0)来停止执行并使管道失败

    【讨论】:

    • 谢谢我已经尝试过了,但我无法让管道退出如果在我的脚本部分我做错了什么吗? script: - if [$options == null]; then exit 1; fi 下一行回显 options 所以我可以看到它是 null 但 if 没有退出
    • $options 如果没有设置就没有默认值?你应该在 if 条件下使用它而不是 null
    • 是的,MoonHorse 在这里一针见血。只需使用if [ -z $options]; 使其成为检查它是否未设置或为空的条件。这个 StackOverflow Question 很好地总结了您可以在此处使用的不同类型的检查,但如果您希望捕获变量未设置或为空的情况,上述方法似乎是最好的选择。
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 2020-06-14
    • 2022-08-11
    • 2020-12-12
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    相关资源
    最近更新 更多