2015-11-25 87 views
14

使用gitlab的Im 8.1.4。并使用gitlab -ci这是内置的。默认情况下,gitlab-ci会触发每次推送的构建。如何才能使其仅在创建合并请求期间触发?Gitlab-CI:仅用于合并请求的gitlab ci触发器构建

在此先感谢

+0

您是否发现了解决方案? – gmponos

+0

@gmponos其实不是。但我习惯于“为每一次推动而努力”。我正在使用单独的实例来构建runner。它的工作很好。 :) –

回答

3

您可以试试gitlab-ci-build-on-merge-request。探讨其他选项的Gitlab问题 - https://gitlab.com/gitlab-org/gitlab-ci/issues/360

声明:我是gitlab-ci-build-on-merge-request的作者。

+0

您好斯坦利,我想知道,您的回购现在弃用?我在我的gitlab repo中得到了一些MR,已经运行了gitlabci build,而我没有做任何事情 – knocte

+0

@knocte不是真的,没有。 GitLab CI的默认行为是(仍然)在每个“推送”上运行构建。假设你有一个'feature- *'分支,根据实验是否要平息,可能或不可能合并到'develop'中。您可能想要跳过无用的构建,直到该分支稳定(即创建MR)(尤其是如果每个构建需要大量时间)。这是gitlab-ci-build-on-merge-request可以帮助你的(例如,限制构建到'master','develop','release- *'branches + MRs)。 –

+0

答案中的链接变成了404,现在这个链接是https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/270吗? –

0

请在您的.gitlab-ci.yml文件中尝试以下内容。

阶段:建立

脚本:

- xxxxx 

文物:

paths: 

    - xxxxx 

标签:

-xxxx 

只有:

- merge-requests 
+0

我在文档中看不到“merge-requests”? https://docs.gitlab.com/ee/ci/yaml/#only-and-except-simpllified –

+0

我认为这会帮助你.https://gitlab.com/gitlab-org/gitlab-ce/issues/ 23902 – santhoshRenga