gpt4 book ai didi

gitlab-ci 规则仅适用于合并请求的手 Action 业

转载 作者:行者123 更新时间:2023-12-05 02:36:34 35 4
gpt4 key购买 nike

我发现很难将阶段限制为仅在 MR 上运行并且是手动的

我有以下规则

    rules:
- when: manual
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH'
when: never

但是这个stage还是在branch下运行,我不希望它在任何branch上运行,只在MR上运行

这真的让我发疯。代码显示了应该发生的事情,但它就是不遵循它

那我错过了什么?

最佳答案

来自documentation :

作业被添加到管道中:

  • 如果 if、changes 或 exists 规则匹配并且还有 when: on_success(默认)、when: delayedwhen: always.
  • 如果规则仅在 when: on_successwhen: delayedwhen: always 时达到。

作业未添加到管道中:

  • 如果没有规则匹配。
  • 如果规则匹配并且有when: never

因此,为了实现您的要求(仅在 MR 上添加手 Action 业,否则,不添加作业)正确的顺序应该是:

rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: manual
- when: never

这转化为:“当第一个 if 匹配时 -> 手动添加作业,在所有其他情况下 -> 不添加作业”。

关于gitlab-ci 规则仅适用于合并请求的手 Action 业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70221061/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com