使用声纳如何仅针对我所做的当前更改进行静态代码分析。例如,我的项目 100 类/文件,我对类/文件进行了更改,现在声纳必须仅针对该特定项目而不是整个项目运行静态代码分析。如何实现?
我们刚刚升级到SQ 6.0,现在有些项目在使用maven进行分析时会出现以下错误:
[INFO] --- sonar-maven-plugin:3.1.1:sonar (default-cli) @ gitlab-hook-dispatcher ---
[INFO] User cache: C:\Users\frank.jakop\.sonar\cache
[INFO] Load global repositories
[INFO] Load global repositories (done) | time=94ms
[INFO] User cache: C:\Users\frank.jakop\.sonar\cache
[INFO] Load plugins index
[INFO] Load plugins index (done) | time=5ms
[INFO] SonarQube version: 6.0
[INFO] Default locale: "de_DE", source code encoding: "UTF-8"
[INFO] Process project properties
[INFO] Load project repositories
[INFO] Load project repositories (done) | time=162ms
[INFO] Execute project builders
[INFO] Execute project builders (done) | time=1ms
[INFO] Load quality …Run Code Online (Sandbox Code Playgroud) 在我的Jenkins管道中,我需要对SonarQube质量门做出反应.有没有更简单的方法来实现这一点,但在Sonar-Scanner日志中查找结果页面(例如https:// mysonarserver/sonar/api/ce/task?id = xxxx)并从那里解析JSON结果?
我使用Jenkins 2.30和SonarQube 5.3
提前致谢
有谁知道可以跳过SonarQube扫描仪分析的原因?
$ sonar-scanner -X -Dsonar.host.url=https://sonarqube.com -Dsonar.login=$SONAR_TOKEN
08:59:10.162 INFO: Scanner configuration file: /home/travis/.sonarscanner/sonar-scanner-2.8/conf/sonar-scanner.properties
08:59:10.166 INFO: Project root configuration file: /home/travis/build/armadito/glpi/plugins/armadito/sonar-project.properties
08:59:10.182 INFO: SonarQube Scanner analysis skipped
The command "sonar-scanner -e -X -Dsonar.host.url=https://sonarqube.com -Dsonar.login=$SONAR_TOKEN" exited with 0.
Run Code Online (Sandbox Code Playgroud) 我们目前使用该sonar-scanner实用程序在我们的maven多模块java项目上运行声纳分析.
我想从中移动sonar-scanner到sonar-maven-plugin,但是第一次测试显示报告指标存在很大差异.
例如,代码行数从466'000到154'000.
主要区别似乎是maven插件不分析src/test目录,而扫描器则分析src/test目录.另一个原因可能是maven插件仅分析启用的模块.
这种行为对你来说似乎正常吗?
或者我错过了插件或扫描仪中的一些配置.他们都应该从我们的sonarqube服务器中提取配置.
如果这是正常行为,那么我应该继续使用扫描仪并保留指标历史记录,还是应该重新开始使用maven插件?我可以为我们发布的所有版本重做一些分析,以进行一些比较和趋势.
谢谢你的建议.
更新:设置sonar.sources和sonar.inclusions如上所述提供了一些更好的结果...
sonar-maven-plugin:在多模块项目中扩展sonar.sources
我们已经将我们的前端项目迁移ionic/es6/angular到了ionic2/typescript/angular2.一切都很好,除了我们不知道如何运行声纳报告项目.
以前我们使用gulp和run gulp sonar命令生成声纳报告(在本地声纳服务器上).
我们不会在新的ionic2项目中使用gulp,并想知道如何在新项目中运行声纳扫描仪.
注意
sonar-project.properties在项目rood目录中添加了文件问题是如何运行它
谢谢...
在TFS上,我无法运行"发布分析结果"以在TFS网页上发布质量门.其他任务"在SonarQube上准备分析"和"运行代码分析"成功运行.
错误消息是:
[错误] [SQ]无法获取指标
[错误] [SQ]无法获取ID'FWK9NiOFibiMfA2L0BHo'的任务
尽管有错误消息,当我访问url http:// localhost:9000/api/ce/task?id = FWK9NiOFibiMfA2L0BHo时,我得到一个带有任务信息的json响应.
Sonarqube服务器版本7.0(内部版本36138)
Sonarqube分支插件7.0(内部版本413)
声纳Maven插件:3.4.0.905
Java项目
Sonarqube已经建立了一个主分支。
作为Jenkins构建作业的一部分,我们执行以下命令:
mvn sonar:sonar -Dsonar.host.url=<our host> -Dsonar.projectName=<project name> -Dsonar.projectKey=<project name> -Dsonar.branch.name=${BRANCH}
Run Code Online (Sandbox Code Playgroud)
其中BRANCH设置为我们在Jenkins中建立的分支名称。
当我们构建“开发”分支时,分析似乎可以正常工作,因为如果开发分支不在Sonarqube中并且在服务器上分析的时间戳是正确的,则该开发分支也会出现,但是存在两个问题:
1)通过将SQ服务器中的长期分支正则表达式修改为,按照https://docs.sonarqube.org/display/PLUG/Branch+Plugin中的说明,我已将“ develop”设置为长期分支。是:
(分支|发布|开发)-。*
但我只在“开发”分支显示上看到“问题和代码”标签。在詹金斯(Jenkins)的工作中,我看到以下消息:
[INFO]分支名称:开发,类型:短命
这使我相信,发展并没有被视为长寿的分支。
2)在“问题”选项卡中没有输出。仅代码选项卡显示任何内容。但是master分支的输出显示225个问题,因此我希望developer分支中出现同样的问题列表(因为尚未解决)。
问题:
寿命长的分支是否显示您通常在主分支上看到的所有相同输出,包括“概述”?
在上面的maven命令中,我需要做些什么来指定“ develop”分支是长期存在的吗?
知道问题标签为何不显示任何内容吗?
非常感谢,韦斯
我在 TeamCity 中建立了一个 Build 项目并将 Sonarqube 与它集成。该项目正在构建,甚至在 SonarQube 控制台中成功发布报告。但是当质量门失败时,它并没有破坏构建。我搜索并阅读了有关构建断路器的信息,但它已经支持 TeamCity 的 Sonarqube 插件作为本文档https://confluence.jetbrains.com/display/TW/SonarQube+Integration
我是否缺少要配置/或任何问题的东西?我试图搜索很多,但没有找到任何适当的文档或引导。
我有由具有源代码巨大行一个基于Java的应用程序(〜1M)。现在我使用詹金斯与声纳浇道-2.4来运行代码覆盖率和测试用例count.I分析已经从升级服务器sonarqube5.4到6.3.1。之前升级这项工作需要9hrs完成整个分析(仍然很长时间但很好)但是在升级到sonarqube-6.3.1相同的工作后需要13hrs完成相同的分析。
我如何至少在我更早的时候缩短分析时间9hr?
编辑
这是我JAVA_OPTS的sonarqube-6.3.1例子
sonar.web.javaOpts=-Xmx6G -Xms2G -XX:MaxPermSize=1G -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true
Run Code Online (Sandbox Code Playgroud)
可用硬件:
$lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 26
Stepping: 5
CPU MHz: 1596.000
BogoMIPS: 3999.44
Virtualization: VT-x
L1d cache: …
code-analysis static-analysis jenkins sonarqube sonarqube-scan