SanarSource
管理和增强大规模软件环境
软件开发中的挑战
当管理人员寻求发展关键业务应用程序时, 质量的协调性很强
管理在***早的软件生命周期阶段通过到操作可以帮助导致
成功的、连续的部署以及公司和 IT 生产率。组织必须使
通过观察当前的挑战并利用基于这些问题的策略来实现这一转变
创造变革的动力。
IDC 将以下内容确定为软件开发人员和组织面临的***da挑战
这取决于快速, 创新的软件创造竞争成功:
?业务有不断增长的需求, 无论是升级和修复, 以及新的
面向客户的应用程序。IT 和开发团队必须将方法转换为代码, 并
质量分析, 以产生更高层次的信心在软件交付 (
更少的缺陷)。
以适当的资源, 以合适的成本、质量和风险实现更快的上市时间
分配-并转移视图, 即软件开发、代码分析和测试是
仅仅是一个 "成本中心", 成为***的 "业务价值推动者"。
?限制业务风险和技术债务-帮助确保交付高质量的 "安全"
通过主动、迭代代码检查以及
软件从业者和管理人员的共同可见性。
?从缺陷检测 (往往太晚) 转移到主动预防性缺陷和前期缺陷
认同与共同分析和一个 "真相的来源" 横跨小组和管理人员。
?灵活、化的仪表板可以使团队能够查看与他们相关的数据
并能增强个人责任和集体协作。
?透明度是理解质量、代码完整性和测试活动的关键
正在进行-与迭代构建管理进行协调并设置适当的
值.
?不断增长的治理和法规遵从性需求是影响
市场并对公司施加压力, 使代码自动评估能力;这可以
帮助推动工作流程改进、可追溯性、报告和度量。
?如果有有限的或没有单元测试, 并没有什么想法是否
当前的设计允许快速添加新功能或能够使
改进, 对重构的关注可以衣组织并充当
刺激改变。
?当 bug 在开发生命周期的后期被发现导致 "红色警报" 情况
当发布成为 "龙", QA 和客户支持必须战斗之前
软件可以部署到客户, 这种负mian影响也可以激发行为
转移.
?利用代码分析信息提供改进行为的机会
通过透明度和迭代变化 (不使用此信息作为 "墙
"惩罚团队或个人" 是可耻的。
? IT、质量、运营和业务团队应该团结起来, 将这些挑战作为
跳过点, 并作为一个动力, 以改***有的软件开发的不良习惯和
行为.建立有效的软件分析和检查, 创建编码规则和
要求特定质量级别的生成和发布的边界, 并利用度量
改进质量战略以及依赖 highperforming 的业务成果,
创新的软件。
SonarQube 平台
SonarQube 是一个连续的质量分析平台, 它作为 web 服务器运行, 跟踪指标
分析代码和代码结构。SonarQube 是一个开源平台, 并被开发
牢记一个主要目标: "使代码质量管理可供每个人使用
***xiao的努力。SonarQube 生态系统是由 SonarQube 平台和一套
plug-ins 在公共基础设施上担任东道主。
SonarQube 实质上提供了代码分析器、仪表板、报告工具、问题跟踪和
TimeMachine 作为***功能, 但它也有一个插件机制, 使社区能够
扩展功能 (当前有超过 60 plug-ins 可用)。
SonarQube 可以成为源代码质量的协调中心, 因为它不需要
限于开发人员或技术娴熟的, 但可以提供有用的信息广泛
项目经理, 技术领导, IT, 甚至在一个组织内的业务领导
可自定义的仪表板。SonarQube 的建筑和 plug-ins (如 SQALE) 和
管理和跟踪技术债务的机会可以为管理人员提供关键信息和
业务在整个软件生命周期中反复地主动地解决缺陷。他们提供
与质量和成本有关的项目的***概述, 并帮助解决风险。
SonarQube 提供的不仅仅是关于软件健康的***指标。由于开发人员
提供了一个粒度代码级别的信息, SonarQube 使这些构建软件
查找并深化到存在代码问题的位置。SonarSource 的产品组合使
对软件变更领域的反馈和影响分析, 并提供反馈, 说明如何
改进开发方法。产品还提供与构建管理的协调
(与詹金斯的支持), 以帮助实现持续集成的部署。
SonarQube 集成的工具, 如 FindBugs, Checkstyle, PMD, FXCop的, C的p的p的Check 出 of-the-box,
或提供 plug-ins。然后, 它可以充当代码分析工具的中心中心,
从而为多个项目提供历史洞察力和趋势分析。一体化的地方
分析和报告是一个加号, 即使组织选择不对发送的报告采取行动。
可以访问有关代码复杂性的历史数据和发现的问题工具的数量
该代码可以提供是否有效地构建软件的可视性, 或者如果方法
需要改变。
在语言方面, SonarQube 支持分析 Java 的***, 但也有超过20
语言, 如 COBOL、c++、PL/SQL 和 c# 通过 plug-ins (开源或商业)
因为报告引擎是语言不可知的。
SonarQube 使组织能够在七轴上覆盖质量并报告:
?重复代码
?编码标准
按单元测试?覆盖范围
?复杂代码
?潜在 bug
?评论
?设计与体系结构
***xin版本还改进了软件质量属性的评估, 并
一个更好的工作范围的技术债务和孤立的问题, 创造技术债务,
根据参考。SonarQube 是可配置的, 可以给代码一个 "等级" (从 a 到
E), 并可以确定它通常在努力和所需的工作类型方面的成本
改进软件。例如, 由于缺少单元测试, 代码可能有较低的评级, 或者
由于大量的重复代码或安全违规。SonarQube 将显示
违规行为是并将估计解决这些问题的费用。用户可以更改工作量估计和
他们会被计算在内, 这是有帮助的。此版本还可以使比较团队
根据需要对项目和组织的各个部分进行评估。
虽然 SonarQube 可以在战shu上用于一次性审计, 但它可以更具战略性地利用
作为一个共享的, 共同的信息来源的质量分析正如刚才所描述的, 以帮助
支持代码质量的持续改进策略。
各种各样的组织使用 SonarQube 提供的产品组合的范围 (从
本公司的免费 "开源" 选项给企业, 站点范围内的 "终ji" 许可版本)。
然而, 目标在***是大和非常大公司与企业, 分布
开发团队和合作伙伴协调。一人团队可以使用开源版本
显然, 这可以作为一个坡道上的收养。但一旦一个组织越过
在开发项目和用户的数量方面, 需要移动到
商业企业解决方案。IDC 发表了三企业客户参考
SonarQube, 主要是开始开放源码收养, 获得立足点, 然后演变
到部署1000以上的用户。
SonarSource
使用安装在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>
版权所有©2024 天助网