2017-01-12 35 views
0

我正在使用由Jenkins執行的SonarQube的GitLab。如果SonarQube報告了任何問題,我想阻止接受合併請求。防止在聲納問題上接受合併請求

Gitlab CE或EE的任何想法?

+0

你是如何運行SonarQube的? –

+0

SonarQube將由Jenkins觸發 – NoobieNoob

+0

好的,在這種情況下,我會假設Gitlab觸發器Jenkins和Jenkins觸發器SonarQube –

回答

1

如果構建失敗或者存在未解決的討論,Gitlab CI提供了兩種防止合併請求的方法。 要開始請按照this tutorial配置一個Jenkins插件。 現在你已經有了gitlab-jenkins-ci集成和gitlab trigerrs,你必須在gitlab的項目設置中啓用Only allow merge requests to be merged if the build succeeds,並且安裝SonarQube build breaker plugin或者使用rest api

不涉及構建中斷的方法是使用gitlab SonarQube plugin但是目前它不支持在合併請求上發表評論,因此您必須修改插件或使用gitlab API做出解決方法。

+0

我已經這樣做了。 Jenkins在maven構建和測試成功時取得成功。 Sonarqube結果將不被考慮。 – NoobieNoob

+0

@NoobieNoob所以真正的問題是當SonarQube結果爲負時Jenkins如何失敗? –

+0

嗯,不如將Jenkins和Sonarqube的結果分開。詹金斯可能會成功建立項目,但合併應該被阻止,因爲Sonarqube發現任何問題。 – NoobieNoob