从多个手动作业执行任何手动作业时解锁阶段

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

我有一个场景,我在一个阶段有多个手动作业。 如果成功执行任何手动作业,是否有办法完成该阶段。

Gitlab版本:

16.8.0

示例

截图1

enter image description here

正如您在

Screenshot 1
中看到的,我已经执行了工作
cd-publish-patch
。 此时,我不希望管道停留在
Blocked
状态,我希望它完成管道。 用户可以单击任意
cd-publish-xxxx
。 我尝试在所有发布作业中添加
allow_failure: false
,但这不会阻塞管道。 即使手动作业没有执行,它也只是认为管道成功。 看看
Screenshot 2

截图2

enter image description here

我不确定这是否可能。 只是检查是否有人对我所描述的场景有解决方案。

gitlab gitlab-ci gitlab-ci.yml
1个回答
0
投票

您可以使用

rules
来实现:

cd-publish-patch:
  stage: publish
  script:
    - echo "cd-publish-patch"
  when: manual
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
cd-publish-minor:
  stage: publish
  script:
    - echo "cd-publish-minor"
  when: manual
  rules:
    - if: $CI_COMMIT_MESSAGE =~ '/minor publish$/'
cd-publish-major:
  stage: publish
  script:
    - echo "cd-publish-major"
  when: manual
  rules:
    - if: $CI_COMMIT_DESCRIPTION =~ '/major publish$/'

这里是您可以使用的所有变量的列表。

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