如何使用Jenkins配置SonarQube GitHub插件

时间:2015-07-31 14:11:18

标签: github jenkins sonarqube

我们非常有兴趣在我的团队中利用GitHub集成: http://docs.sonarqube.org/display/PLUG/GitHub+Plugin

我们使用Jenkins作为我们的CI服务器,并且已经在那里使用GitHub Pull Request Builder。我们也一直在使用SonarQube进行分析,但在预览或增量模式和GitHub集成方面没有太多运气。当前版本是SonarQube 5.1.1和GitHub插件版本1.0.1。

我们在SonarQube上安装了插件并配置了GitHub Enterprise API。我们尝试在Jenkins和Maven中使用SonarQube Runner,以travis.sh脚本作为指南使其工作: https://github.com/SonarSource/sonarqube/blob/master/travis.sh

我们看到Sonar集成出现在GitHub上,但它总是成功的(我们正在使用大型的遗留代码库并希望看到大量的输出)。

我们的javascript和java分析之间的一致性是,我们似乎没有获取索引的任何文件,而是使用GitHub Plugin InputFile Cache传感器而不是我们习惯在完整时看到的Javascript或Java传感器分析

00:01:57.532 13:12:31.109 INFO  - 0 files indexed 
00:01:57.533 13:12:31.110 INFO  - 25784 files ignored because of inclusion/exclusion patterns
00:01:57.535 13:12:31.112 INFO  - Quality profile for js: Sonar way
00:01:57.758 13:12:31.334 DEBUG - 'SCM Sensor' skipped in preview mode
00:01:57.758 13:12:31.335 DEBUG - 'CPD Sensor' skipped in preview mode
00:01:57.759 13:12:31.336 DEBUG - Sensors : Lines Sensor (wrapped) -> GitHub Plugin InputFile Cache
00:01:57.759 13:12:31.336 INFO  - Sensor Lines Sensor (wrapped)
00:01:57.759 13:12:31.336 INFO  - Sensor Lines Sensor (wrapped) (done) | time=0ms
00:01:57.759 13:12:31.336 INFO  - Sensor GitHub Plugin InputFile Cache
00:01:57.759 13:12:31.336 INFO  - Sensor GitHub Plugin InputFile Cache (done) | time=0ms
00:01:57.759 13:12:31.336 DEBUG - No previous analysis, skipping issue tracking
00:01:57.763 13:12:31.340 INFO  - 
00:01:57.763 
00:01:57.763 -------------  Issues Report  -------------
00:01:57.763 
00:01:57.763   No file analyzed
00:01:57.763 
00:01:57.763 -------------------------------------------
00:01:57.763 
00:01:57.763 
00:01:57.763 13:12:31.340 INFO  - Export issues to /data/jenkins/workspace/mygea-mygeaviation-pullrequests/.sonar/sonar-report.json
00:01:57.766 13:12:31.343 INFO  - ANALYSIS SUCCESSFUL
00:01:57.767 13:12:31.344 DEBUG - Post-jobs : GitHub Pull Request Issue Publisher
00:01:57.767 13:12:31.344 INFO  - Executing post-job class org.sonar.plugins.github.PullRequestIssuePostJob

我们是否遗漏了一些简单的东西?

分析属性如下:

sonar.projectKey=mygea-ux-pullrequests
sonar.projectName=mygea-ux-pullrequests
sonar.projectVersion=1.0.0
sonar.sourceEncoding=UTF-8
sonar.language=js
sonar.sources=./
sonar.verbose=true
sonar.exclusions=static/ge_ux/**/*, node_modules/**/*, custom-login/custom-login-cfm/iids/**/*, custom-login/custom-login-honda/iids/**/*, custom-login/custom-login-ge/iids/**/*, static/ge.com.2013/components/**/*, static/ge.com.2013/widgets/**/*.min.js, testFiles/**/*, coverage/**/*, gulpfile.js, test-tmp/**/*, extend.js, index.js, static/ge.com.2013/js/**/*.min.js
sonar.analysis.mode=preview
sonar.issuesReport.console.enable=true
sonar.forceUpdate=true
sonar.github.pullRequest=$ghprbPullId
sonar.github.repository=mygea/mygeaviation
sonar.github.login=*****
sonar.github.oauth=*****
sonar.github.endpoint=*****

对此的任何帮助将不胜感激!这是一个非常棒的插件,我们认为这将真正帮助我们控制技术债务。

约什

1 个答案:

答案 0 :(得分:3)

谷歌集团在此提供了答案: https://groups.google.com/forum/#!topic/sonarqube/eoTmLMyDrtA

根据拉取请求中的文件自动过滤分析。我们正在使用仅在pom.xml和自述文件中进行更改的pull请求进行测试。一旦引入了功能更改,GitHub Pull Request视图中的所有内容都会按预期亮起。

用户错误!按设计工作。

感谢Julien推动我们走向正确的方向。