我正在尝试将我在 Sonarqube 的主要分支从 更改为 ,master因为我在过去的几个月mainline里一直在进行分析。mainline
Sonar 社区下面的这篇文章说我必须删除mainline分支然后重命名master分支。这种方法的问题是我会失去我不想做的所有历史记录。
https://community.sonarsource.com/t/how-to-change-the-main-branch-in-sonarqube/13669/37
是否有办法将主分支更改为另一个分支而不丢失所有扫描历史记录?
使用:开发者版 - 版本 9.2.1
sonarqube sonarqube-web sonarqube-scan sonarqube-api sonarcloud
我们目前正在运行5.1.2版本的生产服务器,我们计划升级.
测试表明,升级到5.3可以按预期工作.
但是,从5.1.2 - > 5.4或5.1.2 - > 5.3 - > 5.4升级会导致5.1.2实例中的所有质量配置文件变空 - 根本没有分配任何规则.
更糟糕的是,备份规则并尝试恢复它们会无声地失败.
还有其他人经历过这个吗?有解决方法吗?
提前致谢.
我有SonarQube 6.1.当我点击主仪表板项目小部件中的项目条目时,我进入一个项目主页,其中显示"质量门通过",并列出了一些问题('错误','漏洞','代码闻起来'和'重复).
在左侧,靠近顶部,在项目名称下方,有一个"主页"图标,在右侧显示"发行","措施","代码"和"管理".
当我试图访问项目仪表板时 - 类似于主仪表板,但特定于项目 - 我找到了这个页面http://docs.sonarqube.org/display/SONARQUBE56/Project+Dashboards.它部分显示了一个项目主页,它看起来与我的安装项目主页非常不同.而不是'Issuses','Measures','Code'和'Administration',就像我的情况一样,它有'Technical Debt','Coverage'等等,还有'Dashboards'.我想这就是我应该去寻找项目仪表板的地方.但是我的SonarQube向我展示的那个菜单项(以及其他菜单项)正好丢失了!
我能做什么?
SonarQube曾经有仪表板,可以非常方便地显示指标随时间的变化情况.甚至还有一个名为"Time Machine"的仪表板.
如何在SonarQube 6.1中看到此类信息?我很欣赏新的关注"泄漏期",但这不是我关心的一切.
使用 sonarqube 进行分析时,有没有办法排除类中的特定方法?我找到的只是如何排除文件和模块。
在sonarqube 5.6.4中,如何查看重复的代码块?在 4.5 中,重复指标下有一个几乎隐藏的 UI 元素。现在它什么也没做。
由于问题附加在文件顶部,我如何知道需要修复什么?
如果我不将 MySql 数据库连接到 Sonar,Web UI 可以在 localhost:9000 上加载没有问题。如果我更新 MySQL 的配置文件,网络将无法启动,但我无法从日志中看到提示。
声纳.属性:
# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
sonar.jdbc.username=sonarqube
sonar.jdbc.password=password
#----- Embedded Database (default)
# H2 embedded database server listening port, defaults to 9092
# sonar.embeddedDatabase.port=9092
#----- MySQL 5.6 or greater
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported. It can not be changed.
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 gulp 任务将伊斯坦布尔生成的报告上传到声纳仪表板,但失败并出现以下错误。看起来SonarQube 中的Build Breaker插件在将报告上传到 Sonar 之前超时。有什么办法可以调整这个插件吗?
我正在使用声纳 5.3。
15:42:43.411 INFO: Analysis report generated in /workspace/{project}/.sonar/report
15:42:43.430 INFO: ------------------------------------------------------------------------
15:42:43.430 INFO: EXECUTION FAILURE
15:42:43.430 INFO: ------------------------------------------------------------------------
15:42:43.430 INFO: Total time: 5:06.287s
15:42:43.609 INFO: Final Memory: 57M/2603M
15:42:43.609 INFO: ------------------------------------------------------------------------
15:42:43.609 ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Report processing did not complete successfully: FAILED
at org.sonar.plugins.buildbreaker.QualityGateBreaker.getAnalysisId(QualityGateBreaker.java:152)
at org.sonar.plugins.buildbreaker.QualityGateBreaker.execute(QualityGateBreaker.java:108)
at org.sonar.plugins.buildbreaker.QualityGateBreaker.executeOn(QualityGateBreaker.java:95)
at org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:65)
at org.sonar.batch.phases.PostJobsExecutor.execute(PostJobsExecutor.java:55)
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个小脚本
获取特定环境中所有微服务的版本(已解决)
对于每个项目/版本,获取该确切版本的声纳代码覆盖率。我在获取特定项目的确切版本的声纳覆盖范围时遇到问题。
我正在使用 sonarqube 6.0(根据我的 /api/server/version 端点)(我希望我们可以尽快升级到最新的 6.4,但这不在我的直接控制范围内,我不想等待)
我的问题是 - 我无法将数据绑定在一起,因为当我调用 /api/events 端点时,我只能返回项目的日期和覆盖范围,而不是版本。这是一个工作代码示例(不包括凭据和基本 URL)
我很乐意用任何语言解决这个问题 - ruby、python、php、java、js,无论什么都有效。
#!/usr/bin/ruby
require 'rest-client'
require 'json'
require 'ostruct'
require 'date'
require 'nokogiri'
projects_endpoint='/api/projects/'
time_machine_endpoint='/api/timemachine/'
events_endpoint='/api/events'
rc = RestClient::Resource.new(server_url, user, pass)
sonarqube_projects = JSON.parse(rc["#{projects_endpoint}index?format=json"].get, object_class: OpenStruct)
coverage_per_project = sonarqube_projects.map {|sq_project|
# data shape: #<OpenStruct id="1687", k="foo-project", nm="foo-project", sc="PRJ", qu="TRK", lv="0.0.617", v=#<OpenStruct 0.0.617=#<OpenStruct sid="4197", d="2017-07-18T03:50:48+0000">>>
project_name = sq_project.k
url = "#{time_machine_endpoint}?format=json&resource=#{project_name}&metrics=coverage"
events = JSON.parse(rc[url].get, object_class: OpenStruct)
# data shape:
# [#<OpenStruct cols=[#<OpenStruct metric="coverage">], cells=[#<OpenStruct d="2016-12-08T19:26:24+0000", …Run Code Online (Sandbox Code Playgroud) 尝试扩展以下链接的 Sonarqube 规则以忽略记录器方法中字符串文字的出现。
我在尝试提取方法的方法名称时遇到问题(在基本访问者树的上下文中,它可能不属于我的分析中的方法范围。但在查看 methodInvocation 类型以提取一些方法名称时有一些运气)。
所以我的问题是有没有人有基本访问者树元素的定义列表以及它如何看到不同的语句?
例如 weeLogger.Log(exception, "异常发生");
或者
例如 logger(exception1, "发生异常);
以及有没有人做过类似的事情并分享他们如何从 Base Visitor Tree 类中提取方法名称以使用 Sonarqube 进行分析?
sonarqube ×10
sonarqube-web ×10
dashboard ×1
java ×1
mysql ×1
project ×1
sonar-runner ×1
sonarcloud ×1
upgrade ×1