Gitlab CI:如果未设置变量,管道将失败?

问题描述 投票:0回答:2

如果用户触发管道并且没有设置名为

options
的变量及其值,是否有办法使我的整个管道失败?

我尝试过诸如 only 和规则之类的东西,但它们只是跳过作业而不是让所有作业失败。

gitlab gitlab-ci gitlab-ci-runner
2个回答
7
投票

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

例如,在基于 Linux/bash 的运行器中,您只需要

exit 1
(而不是
exit 0
)来停止执行并使管道失败


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
环境变量,则此作业(总是 失败)将包含在管道中。如果已设置,则该作业将被忽略。

© www.soinside.com 2019 - 2024. All rights reserved.