2015-09-24 38 views
1

聲吶分析是根據集中定義的策略檢查代碼遵從性的好方法。這就是爲什麼我想使用Blocker a Critical規則來描述破損構建的配置文件。離線聲吶分析以指示損壞的版本

我使用詹金斯做構建和調用SonarRunnerBuilder獲得標準分析每日構建的項目。

爲了實現我概括這將是最好的,如果我能運行分析功能,檢查結果對違法行爲(最好是不能發送到聲納服務器),如果有任何侵犯構建失敗。到目前爲止,我還沒有找到方法來使用Google來查看SonarRunner源代碼。

我所考慮的是一個解決辦法。我會執行一個Decorator收集違規行爲,當裝飾達到項目資源時,我會拋出一個RuntimeException來破壞分析。這反過來會使構建失敗。

將這項工作?有沒有更好的方法來實現這一目標?

回答

1

你在找什麼似乎是build breaker plugin提供。它依靠質量門配置來檢測當前分析中違規(現稱爲問題)是否需要中斷整個構建。

請考慮這個插件不會SonarQube 5.2的支持。從技術上講,SonarQube架構的深刻變化使得無法提供相同的功能。在哲學上,這個插件與SonarQube想要提供的體驗不符。

儘管如此,另一種覆蓋相同用例的解決方案很可能會在SonarQube的未來版本中提供,但尚未定義。

+0

所以在我們繼續之前從5.0到5.2我仍然可以: *使用建立斷路器 - 打破構建 *選擇不同質量的個人資料 - 過濾規則(只是阻滯劑和爆擊) *使用sonar.issuesReport.html - 要顯示一個列表 *以預覽模式運行分析 - 避免提交結果 我想知道 - 我的用例「是否與SonarQube想要提供的體驗相匹配」? 如果我無法選擇其他配置文件,我將如何過濾要在5.0之後運行的規則? 什麼技術限制可以防止構建斷路器在5.2中工作? 感謝您的意見 – Vaskrist

+0

*幾乎引用了某人:「是的,你可以」。 *長話短說:在SonarSource想要提供的體驗中,開發人員甚至不會首先提出問題。爲了讓你領略一下可能會發生的事情:將許多工具放在開發者手中以實現願景。其中一個模擬對項目的分析,包括其承諾,看看是否會打破質量門。 –