我在GitLab CI中有一份工作,我想将其设置为在以下条件下运行。
我正在寻找这种类型的设置的原因是该工作非常漫长,并且占用了某些有限的资源。因此,我不希望作业在每次提交时都运行,而只是在完成MR之前的最后一步。可以这样设置吗?
我正在使用GitLab社区版11.7.0。
答案 0 :(得分:0)
是的! GitLab 11.6引入了pipelines for merge requests。对于您所描述的,我建议创建一个仅用于合并请求的作业,不允许出现故障。
gate:
script: "true"
only:
- merge_requests
allow_failure: false
您需要填写实际的脚本,工作阶段以及所有其他详细信息。
答案 1 :(得分:0)
我认为目前无法在GitLab中实现。他们正在解决一个被称为“预期合并管道”的问题,听起来像您在搜索什么:
https://gitlab.com/gitlab-org/gitlab-ee/issues/7380
他们描述的工作流程是:
作为解决方法,您可以使用“ when:manual”:
https://docs.gitlab.com/ee/ci/yaml/#whenmanual
GitLab CI的其他功能只能手动触发管道,然后通常需要用户粘贴链接到成功的管道,然后才允许他们按下合并按钮。