如果变量值正确,如何运行手动 Gitlab 作业?

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

所以我创建了以下工作。我希望该作业仅在 VERSION 的值为“TEST-INPUT”时运行。所有其他情况下作业都会失败。我该怎么做?到目前为止,如果我在 GITLAB 中输入 VERSION 的任何值,作业仍然会运行。

test-manual-job:
  stage: test-stage
  when: manual
  variables:
    VERSION: "${VERSION}"
  rules:
  - if: '$VERSION == "TEST-INPUT"'
    allow_failure: true
  script:
    - echo "${VERSION} is the hard-coded input"
gitlab pipeline jobs cicd
1个回答
0
投票

rules:
仅在创建管道时进行评估。当您启动手动 job 时,指定任何变量都不会影响作业是否运行,因为 rules:
 是在管道创建时评估的。

我希望作业仅在 VERSION 的值为“TEST-INPUT”时运行。所有其他情况下作业都会失败。

由于您想在管道创建时间后评估此条件,因此不能使用

rules:

。相反,您可以将此逻辑添加到作业本身中:

myjob: when: manual before_script: - | if [[ "$VERSION" != "TEST-INPUT" ]]; then exit 1 fi
    
© www.soinside.com 2019 - 2024. All rights reserved.