当前位置: 首页 > 知识库问答 >
问题:

如何配置SonarQube GitHub插件与Jenkins

钱元徽
2023-03-14

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

我们使用Jenkins作为CI服务器,并且已经有GitHub Pull请求生成器在那里工作。我们也一直在使用SonarQube进行分析,但在预览或增量模式以及GitHub集成方面运气不好。目前的版本是SonarQube 5.1.1和GitHub插件版本1.0.1。

我们在SonarQube上安装了插件,并配置了GitHub企业应用编程接口。我们尝试使用Jenkins和Maven中的SonarQube Runner来使其按照travis.sh脚本作为指南工作:https://github.com/SonarSource/sonarqube/blob/master/travis.sh

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

我们的javascript和java分析之间的一致之处在于,我们似乎没有得到任何文件索引,GitHub插件输入文件缓存传感器被用来代替我们在完整分析过程中看到的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个答案

衡翰藻
2023-03-14

谷歌小组在这里提供了答案:https://groups.google.com/forum/#!主题/sonarqube/eoTmLMyDrtA

根据拉取请求中的文件自动过滤分析。我们正在测试只有pom.xml和自述文件更改的拉请求。一旦引入了功能更改,GitHub拉请求视图上的一切都如预期的那样亮了起来。

用户错误!按设计工作。

感谢朱利安把我们推向了正确的方向。

 类似资料:
  • 问题内容: Jenkins(Hudson)具有StarTeam插件。如何正确配置? 我已经安装了此插件,但是在构建项目时出现此错误: java.lang.NoClassDefFoundError:com / starbase / starteam / Folder 机器是Windows Server2008。我在文件夹中安装了StarTeam SDK 。 问题答案: 在插件文档页面上有一个提示:

  • 在 build.json 中通过 plugins 字段配置插件 类型:Array 默认值:[] 数组中的每一项代表一个插件,插件会被顺序执行,字符串表示插件名称,可以是本地路径或者npm包,如下: { "plugins": [ // npm依赖 "build-plugin-app", // 相对路径 "./plugin/customPath" ] } 如果插件包含自

  • 插件配置文件是插件目录下的config.php,不需要配置的插件可以不添加此文件; 文件结构: <?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +------------------------

  • 插件配置文件是插件目录下的config.php,不需要配置的插件可以不添加此文件; 文件结构: <?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +------------------------

  • 丰富的过滤器插件的存在是 logstash 威力如此强大的重要因素。名为过滤器,其实提供的不单单是过滤的功能。在本章我们就会重点介绍几个插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!