我正在尝试在 Gitlab CI 中实现以下功能。我想在 BOTH 条件为真时执行作业:
同样,我希望仅在满足BOTH条件的情况下运行作业。
过去,这可以通过使用 only
和 except
关键字来实现。由于这些已弃用一段时间,我想使用 rules
和 if
关键字/语句来实现该功能。
我的第一次尝试是这样的:
job1:
script:
- echo "Do some stuff ..."
rules:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" && $CI_COMMIT_TAG != ""'
但是,由于我无法理解的原因,这似乎不起作用。有人能帮我解决这个问题吗?
在这种情况下,我还想知道这两个条件的舍入是否会导致问题,以及在多个 if 语句中指定条件是否更合适,如下所示:
job1:
script:
- echo "Do some stuff ..."
rules:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
- if: '$CI_COMMIT_TAG != ""'
相应的 Google 搜索并没有让我更接近解决方案。我找不到有关多个 if
语句主题的任何内容。也许其他人知道更多?
在这方面的任何帮助将不胜感激。