我想在合并请求合并时执行某个阶段,或者如果它被手动关闭,基本上我想在 CI 结束时运行,并且只有当用户单击合并或 MR 关闭时。为此,我有这个阶段:
clean-environment:
stage: deploy
script:
- echo clean
environment:
name: review/$CI_COMMIT_REF_SLUG
action: stop
但是,每次我提交时,Gitlab 都会执行这个阶段。我做错了什么?
谢谢!
当你关闭(取消)一个MR时,它不会触发任何东西。当您合并一个打开的 MR 时,它是一个
push
事件。push
(直接推送或合并 MR)上运行任务,您可以编写如下规则:
rules:
- if: $CI_PIPELINE_SOURCE == "push"