SonarSource
实现和好处的典型大小
大型国际组织可以对1万多个项目进行分析, 并
分析650–700万行代码在14种语言与8000访问一天在网站上。
IDC 的一位客户正在跟踪1200项目, 其中有1.6亿行代码
通过 SonarQube 扫描, 再加上另外的300项目, 还有1.6亿行代码
被扫描。
另一位客户从二十几个项目到现在已注册的2230多个项目
用户有更多的匿名浏览仪表板。
为什么 SonarQube?
SonarQube 引用 IDC 的讲话需要一种测量和强制软件的方法
和代码质量指标。一个关键的目标是对代码质量进行量化测量, 并
分析这些指标来制定一套基准测量-主要是利用
鼓励良好做法的平台 (并劝阻坏的行为)。
在评估有竞争力的产品时, 他们寻找的是: 品质特征
分析提供 (如死代码分析、影响分析、跨平台分析);
支持的语言 (SonarSource 支持 20 +);代码评审的灵活性;和仪表板
产品和报告分析。服务组织还评估了基于
商业限制和参与限制。
SonarQube 的优点通常包括其整体易用性, 需要更少的时间来学习
并采取。与 SonarQube 的包装选项也有利于***终用户和
服务提供商-"不附加任何字符串" 的企业许可证是对具有动态分发需求和服务提供者的***终用户的帮助, 提供了能够利用的自由
SonarQube 灵活地作为订婚的一部分。
SonarQube 仍在发展其对影响分析的支持, 但同时一些客户
引用已创建解决此问题的变通方法。
使用 SonarQube 的好处
SonarQube 客户描述的功能在解决其
***问题包括以下几个方面:
?代码和质量的能见度, 可以看到热点是在应用程序中
主动包括应用程序质量 "前端" 作为开发的初始和迭代部分
过程仪表板, 用户可以选择处境和
自定义报告。
?的能力, 以不同的层次整合的指标, 在各不相同的意见-在客户
级别, 在开发人员级别和/或业务单位级别-并将它们上卷成 "一个
真理之源 ";一个单一的门户/单点, 每个人都可以去看看他们
需要知道。
?经理/董事可以自定义和使用 SonarQube 来衡量
各个组-服务提供商可以为每个客户自定义仪表板
组织, 他们正在努力解决不同种类的需求和标准。
它们还可以增强现有规则并集成结果, 因为 SonarQube 给出了
这一水平的灵活性。同时, 组织必须注意不要使用
SonarQube 作为 "棍棒" 迫使 "好行为"-成功的公司有
利用信息鼓励更好的做法, 而不是建立 "墙
羞辱 "惩罚个人不良的编码行为。这意味着使用 SonarQube 作为
"诊断指标" 而不是 "基于结果的" 指标, 可以更好的推动成功。
?总的来说, 这些能力使客户能够管理和减轻技术债务
通过一个 cost-effective 的解决方案, 可以扩展到企业级, 并广泛
分布式.SonarQube 帮助组织对代码质量进行基准测试并了解
他们的组织是如何做, 以及他们如何能够和有改进的时间通过
定性和定量的信息。
使用安装在Mac OS X Mountain Lion 10.8.4上的SonarQube?(以前称为Sonar?)
发表在未分类的neomatrix369
介绍(续)
继续从之前在Mac OS X Mountain Lion 10.8.4 [01]上安装SonarQube?(以前称为Sonar?)的博客文章,我们将介绍如何在不同情况下使用SonarQube。
这个帖子可能会比前一个更加冗长,即使用命令输出和屏幕截图,说明SonarQube如何响应各种用户操作。
运行SonarQube分析项目
我们将介绍SonarQube可以通过maven或Sonar-runner(用于非Maven项目)分析项目(以SonarQube支持的编程语言[02]编写)的两种方式,以及SonarQube的不同方面这有助于作为静态代码分析工具。
通过maven
转到包含maven配置文件(即pom.xml)的项目文件夹,并根据***终目标运行以下命令之一:
$ mvn clean安装声纳:声纳
$ mvn install sonar:sonar
$ mvn声纳:声纳
$ mvn clean sonar:sonar 的-Dsonar.host.url = http:// localhost:nnnn
(其中nnnn是SonarQube正在侦听的备用端口号)
输出
通过上述命令成功分析项目将导致以下输出到控制台或日志文件:
[INFO] ----------------------------------------------- -------------------------
[INFO] BUILD SUCCESS
[INFO]总时间:29.923秒
[INFO]完成时间:Fri Sep 13 18:07:01 BST 2013
[INFO] Final Memory:62M / 247M
[INFO] [18:07:01.557]执行org.apache.maven.plugins:maven-surefire-plugin:2.10:test done:20372 ms
[INFO] [18:07:01.557]执行maven插件maven-surefire-plugin done:20373 ms
。
[INFO] [18:07:09.526] ANALYSIS SUCCESSFUL,您可以浏览http:// localhost:9000 / dashboard / index / com.webapplication:sub-webapp
[INFO] [18:07:09.528]执行职位后的类org.sonar.issuesreport.ReportJob
[INFO] [18:07:09.529]执行工作后类别org.sonar.plugins.core.issue.notification.SendIssueNotificati***Po的stJob
[INFO] [18:07:09.529]执行职位后的类org.sonar.plugins.core.batch.IndexProjectP的ostJob
[INFO] [18:07:09.580]执行工作后类org.sonar.plugins.dbcleaner.ProjectPurgeP的ostJob
[INFO] [18:07:09.590] - >在2013-08-16和2013-09-12之间每天保留一张快照
[信息] [18:07:09.591] - >在2012-09-14和2013-08-16之间每周保留一张快照
[信息] [18:07:09.591] [信息] [18:07:09.614] 2008-09-19和2012-09-14之间每月保留一个快照
[INFO] [18:07:09.627] - >删除之前的数据:2008-09-19
[INFO] [18:07:09.629] - >清理webapp [id = 1]
[信息] [18:07:09.631] [信息] ------------------------------------- -----------------------------------
[INFO]总时间:38.345秒
[INFO]完成于:Fri Sep 13 18:07:09 BST 2013
[INFO] Final Memory:28M / 255M
以下是几个链接到pom.xml文件的示例,这些文件应该有助于创建新的或修改现有配置以将maven项目与SonarQube(包括其他maven CLI交换机)集成在一起,即使用Maven [03]和SonarQube分析Github [04] 。
通过声纳赛
转到包含sonar-project.properties配置文件的项目文件夹,然后运行以下命令:
</ DIV>
<DIV> </ DIV>
<div> $ sonar-runner </ div>
<DIV>
SonarQube - ***的PL / SQL分析
发表评论
PLSQL_Majors我们继续本系列分析PL / SQL代码与今天的主要规则。
我们以前看过如何组织我们的环境,并配置我们的代码分析与Jenkins和SonarQube。
我们创建了自己的质量简介,并审查了所有面向可靠性和安全性的阻止程序和关键。继续阅读→
此条目发布于2014年1月21日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
使用SonarQube进行PL / SQL分析 - 关键
PLSQL_Critical在本系列上一篇关于使用SonarQube分析PL / SQL代码的文章中,我们回顾了我们的质量配置文件中现有的阻止程序规则。
我们发现三个违反PL / SQL编程的***jia实践,其后果如此重要,不允许容忍。因此,这证明了他们“阻挡者”的地位。
我们还发现这三个规则共有18个缺陷,所以我们假设这个规则是项目团队所知道的。
***后,这些缺陷导致了应用程序中的逻辑错误 - 这是一个永远不会执行的操作,因为相应的条件将永远不会被满足 - 甚至可能的崩溃。继续阅读→
此条目发布于2014年1月11日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
SonarQube和JaCoCo的个人测试代码覆盖率
围绕JaCoCo听众人工制品的一个警告。6亿行代码通过SonarQube扫描,再加上另外的300项目,还有1。虽然在文档中不清楚,但是当JaCoCo侦听器版本与SonarQube中安装的Java插件的版本匹配时,似乎获得了***jia效果。在这种情况下,由于我们在SonarQube中安装的Java插件是2.3版,我们使用了listener artefact 2.3版本。我们还用监ting器1.2测试了同样好的结果,但为了防止任何未来的冲突,我们建议保持版本一致。
运行分析
一旦完成了项目配置的更改,您只需要重新执行SonarQube分析即可查看新的报告。
根据您安装的SonarQube Java版本,配置有所不同。
在旧版本中运行分析
当使用的Java插件版本是2.1或更早的版本时,应该在分析执行时才能启用该配置文件,并且只有当分析执行时。现在,当使用cobol或PLI编辑器打开绑定子项目中的cobol或PLI文件时,将在文件中标记任何违反在SonarQubeproject中设置的规则之一的代码,并通过悬停帮助来显示解释。这意味着现在需要发射声纳:声纳目标作为单独的Maven构建(建议这样做,但在许多情况下,您可以在一次运行中执行所有目标)。在我们的宠物诊suo版本的情况下:
> mvn清洁验证-P货 - tomcat,硒测试,jmeter测试
> mvn sonar:声纳-P覆盖率测试
如果您的构建是由Jenkins工作触发的,那么新的配置文件应该添加到后期制作操作中,如此屏幕截图中所示:
版权所有©2024 天助网