2015-11-25 83 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