如果用户触发管道并且没有设置名为
options
的变量及其值,是否有办法使我的整个管道失败?
我尝试过诸如 only 和规则之类的东西,但它们只是跳过作业而不是让所有作业失败。
是的,尽管你失败的方式取决于你的跑步者所基于的系统。
例如,在基于 Linux/bash 的运行器中,您只需要
exit 1
(而不是 exit 0
)来停止执行并使管道失败
测试脚本中的
options
环境变量是一种可能。另一种方法是使用 options
变量从管道中包含(或排除)“杀手”作业。例如:
verify-options-set:
stage: .pre
image: node:20
tags:
- linux-docker
rules:
- if: '$options == null'
script:
- echo "Define "options" to run the pipeline!"
- exit 1
如果未设置
options
环境变量,则此作业(总是 失败)将包含在管道中。如果已设置,则该作业将被忽略。