我有一个场景,我在一个阶段有多个手动作业。 如果成功执行任何手动作业,是否有办法完成该阶段。
Gitlab版本:
16.8.0
截图1
正如您在
Screenshot 1
中看到的,我已经执行了工作cd-publish-patch
。 此时,我不希望管道停留在Blocked
状态,我希望它完成管道。 用户可以单击任意 cd-publish-xxxx
。 我尝试在所有发布作业中添加 allow_failure: false
,但这不会阻塞管道。 即使手动作业没有执行,它也只是认为管道成功。 看看Screenshot 2
截图2
我不确定这是否可能。 只是检查是否有人对我所描述的场景有解决方案。
您可以使用
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$/'
这里是您可以使用的所有变量的列表。