SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, ***终开发更好的软件。SONARSOURCE 的产品和服务被世界各地的客户所使用。
思科系统 (NASDAQ: cisco) 是***领xian的网络技术。思科拥有73460名员工和 Q2 FY13 121亿美元的收入, 在各种技术领域, 包括安全、网络会议、路由: 边缘/***/接入、语音等方面都是市场的***。思科 IT 代表公司的工程部门, 负责提高开发人员的生产率, 并在持续交付、构建管理、代码审查和部署方面实施***jia做法。SonarQube集成的工具,如FindBugs,Checkstyle,PMD,FXCop的,C的p的p的Check出of-the-box,或提供plug-ins。思科的目标是设计、实施和宣传***的软件质量和维护工具。软件质量面临的关键挑战
今天, 思科将成为世界上 1 it 组织的轨道, 但有一段时间, 它无法管理软件质量可能是一个绊脚石。根据思科 it 工程师 Dhairya Sanghvi 的数据, 使它进入和通过 QA 的代码的质量是一个问题。过去有许多与代码相关的问题, 随着时间的推移而不断升级, 花费了我们很多钱。部分问题是缺乏标准。"我们曾经有开发团队以一种杂乱无章的方式进行代码审查和非功能分析," Sanghvi 说。这将是一个免费的开放源码项目服务,可以分析任何地方托管的项目(虽然它需要一个GitHub帐户进行身份验证)。"没有信息存储或对缺陷数量有清晰的了解", 也无法看到质量随时间变化的方式。此外, "代码评审所采用的系统和流程没有标准化, 因为没有用于执行 (审查) 的通用工具或规则集"。开发团队正在使用各种工具进行静态分析和单元测试, 但他说, "思科需要将其***转移到一个具有更成熟报告能力的工具上, 开发人员和管理层都可以对其进行解释。SONARQUBE 是一致的选择
Sanghvi 说, 在寻找能够满足思科需求的工具的同时, 研究团队也在尝试将敏捷实践融入到思科 it 开发环境中。他说, 这支球队是以 SonarQube 的特点出售的, 但整合是关键的。"SonarQube 是一个代码分析工具, 与詹金斯集成好, 我们去了, ' a-哈, SonarQube 它是这样的!SonarQube 是一致的选择。Sanghvi 说, SonarQube 有 "很多伟大的特点", 但这些突出:可自定义的规则集-"SonarQube 中的可定制的质量配置文件是一个非常有用的灵活性, 考虑到我们的平台上有各种不同的粉笔和奶酪的团队," Sanghvi 说。"此外, 将 xml 规则 (从一个 SonarQube 实例转移到另一个) 和这些配置文件的继承能力都很容易使其成为***的产品。项目组合管理-思科公司正在使用投资组合管理插件, 在整个企业中提供管理友好、个性化的质量指标。服务包括开发、技术支持、咨询和培训,旨在帮助企业获得长期利益。这给整个组织提供了很大的激励, 可以定期检查他们的进度, 跟踪改进并采取行动来修复质量缺陷。时间机器– "趋势分析报告是 SonarQube 中***da量的使用能力之一, 帮助我们说服许多项目团队采用该工具" Sanghvi 说。"能够看到我们的项目在很长一段时间内的质量改善是***关键的项目之一, 在您的阿森纳。当与项目组合管理插件结合使用时, 此功能为组织的性能提供了一个完整的窗口。在代码审查和功能集成中节省了大量的资源时间
根据 Sanghvi 的数据, 思科公司采用 SonarQube 的方法, 对这家企业来说是一个巨大的胜利。"SonarQube 已经触发了三倍的业务影响, 我们已经看到了在每一个项目团队, 我们已经登上-交付*** (时间到能力减少), 工程*** (质量改进) 和业务价值 (成本节约)。通过将代码分析转移到开发阶段并每天运行它, Cisco it 大大提高了代码质量, 并因此减少了紧急 bug 修复, 这 "为组织节省了大量成本", Sanghvi 说。"在 PLC 的早期阶段遇到的缺陷比以后被发现的要便宜得多。行业统计显示,平均而言,软件产品的生命周期成本的80%用于维护,根据内部质量,维护成本有很高的变异性。下一次大胜利是在代码审查领域。现在, 每个团队都在同一个地方进行代码评审, 使用相同的工具和度量, SonarQube 提供了对关键缺陷度量的清晰和基于时间的可见性。由于 SonarQube 的日常代码分析, 在代码审查和功能集成中节省了大量的资源时间。此外, "SonarQube, 与其相关的质量概况和他们的客户
SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, ***终开发更好的软件。Silverpeas 已经能够实现新的功能和提高产品性能, 这已导致赢得越来越多的客户。Silverpeas 是协作知识和内容管理的平台。写在爪哇, Silverpeas 出生于 1999年, 在黑暗时代的 J2EE。?总的来说,这些能力使客户能够管理和减轻技术债务通过一个cost-effective的解决方案,可以扩展到企业级,并广泛分布式。这是一个时代之前的框架, 当英雄编码没有测试或文件。结果是一个工作产品的支持下的混乱的定制框架, 是基于良好的想法, 但执行不***。随着时间的推移, 由于在产品的早期就做出了短视的设计决策, 而且由于对其***体系结构没有明确的愿景, 因此发展和维护代码变得越来越困难。技术债务 = 责任
这种情况使我们很难跟上创新的步伐, 保持市场的竞争力。使问题复杂化的是, 执行基本维护和实施新功能的高昂成本使得很难获得新客户。技术债务代表了一个太大的负债。够了在 2009年, Silverpeas 团队作出了一个激烈的决定: 现在是时候, 以现代化的架构和提高 Silverpeas 的代码质量。但他们需要确切地知道如何, 什么, 以及在哪里重构之前, 他们可以继续。连续检测是一种新的软件质量模型,它包含较短的反馈回路确保快速解决质量问题。"我们需要一个工具来支持我们的改变," Silverpeas 软件建筑师米格尔 Moquillon 说。"SonarQube (当时的声纳) 被选中来帮助我们获得正确的***, 这些问题。通过它的质量分析工具和它的统一和可定制的界面, 我们有信息, 以确定我们必须执行的任务, 以减少技术债务和提高代码的质量。这是我们的 GPS 在改善 Silverpeas 的道路上。SONARQUBE 保持技术债务控制
Silverpeas 团队在 Silverpeas 的现代化过程中选择了 SonarQube 这一关键角色, 部分原因是它是开源的, 就像 Silverpeas 一样, 易于扩展, 但 SonarQube 也提供了一些功能 Moquillon 说, 团队发现引人注目的:统一和集中的仪表板"一个统一和集中的仪表板, 其中呈现代码的主要质量指标: 一目了然是什么出错了, 什么是改进了, 很容易看到。简单的导航--"一种简单的方法来导航到相关代码的不同指标: 很容易找到需要操作的代码部分."强大的报告-"在时间的指标演变的迹象: 我们可以估计我们的代码改进的努力。产品还提供与构建管理的协调(与詹金斯的支持),以帮助实现持续集成的部署。更好的软件质量已导致越来越多的客户赢得
SonarSource 的解决方案有助于 Silverpeas 的成功, 通过对关键问题提供持续和快速的反馈以及如何解决它们的建议。工作从坚实基地它的代码质量改进给它, Silverpeas 团队已经能够实现新的功能, 并提高产品的鲁棒性和性能, 这已导致赢得越来越多的客户。今天, Silverpeas 团队致力于将其软件质量保持在 SonarQube 的轨道上。Moqillon 说, Silverpeas 团队对 SonarQube 有信心, 因为 "这是一个开源项目, 如 Silverpeas, 因此, 我们是确保其演变和质量。各种各样的组织使用SonarQube提供的产品组合的范围(从本公司的免费"开源"选项给企业,站点范围内的"终ji"许可版本)。他赞扬 SonarQube 的定期发布时间表、易用性、易于安装以及与现有开发基础结构 (如连续集成服务器詹金斯) 和构建系统 Maven 等集成的易用性。现在, SonarQube 分析运行每晚 Silverpeas 的35.1万行代码, 由詹金斯触发的后期生成行动。开发人员和经理定期检查结果, 并采取行动解决问题的集体努力, 以维护和进一步提高 Silverpeas 的软件质量。
SonarSource简介
具有 Artifactory 和 Sonarqube 集成的连续交付准备 Gradle 项目当玩弄持续集成/交付/部署的概念时, 我在 Gradle 构建以及如何将它们集成到这些概念中而苦苦挣扎。Gradle 在构建工具环境中越来越重要, 因此我创建了一个关于如何使用它的模板或原型。对正在发生的事情的可见性是冷静的,有助于使行为更改有助于提高开发团队的质量,将更高更好的卫生责任。我选择了一个场景, 我看到了 Maven 和其他工具已经实现了:
推动风投转向中央风投将更改标记为特定 id 并将其推回中央 VCS使用单元测试执行生成执行声纳分析执行 artifactory 上载此链使您能够不断地将每个更改设置标记、单元测试、分析并上载到您的工件存储库, 以备部署。简而言之, 这是 (从我的角度来看) 持续交货的精神。这意味着水平软件产品的可维护性今天将决定其成本责任的水平明天。
环境:
Gradle 3.5 (通过项目的 Gradle 包装)Artifactory: 5.2. 1-OSS, 运行在 http://localhost:8081/artifactorySonarqube: 6.3.1, 跑在 http://localhost:9000注意: 在这种情况下, Sonarqube 和 Artifactory 将由管理员用户使用。SonarSource的产品组合使对软件变更领域的反馈和影响分析,并提供反馈,说明如何改进开发方法。在实际生产环境中, 必须将其更改为更安全的方式
首先, 我在 Artifactory 中添加了一个本地 (m2-compatible) 和两个远程存储库:
"库-释放-本地" 是为了保存我自己的工件 (这就是为什么它被称为 "本地")"插件-gradle-org" 指向远程回购 "http://plugins.gradle.org/m2/" (这是 gradle 插件所必需的)"repo1-maven-org" 指向远程回购 "http://repo1.maven.org/maven2/" (这是项目的所有其他依赖项所必需的)此外, 我创建了一个虚拟的回购 "释放" 包含所有 3 mentionend 回购。这使得从一个位置获取所有发布的库更容易。更重要的是,它背离了基于数学模型,使其能够产生控制流的评估,对应于程序员的直觉的精神,或认知的努力,需要了解这些流动。
该项目本身并不真正重要的这篇文章。我认为这是一个标准的 java 项目, 遵循 Maven/Gradle 的惯例。更有趣的部分是 Gradle 文件:
gradle/包装/gradle 包装。生成. gradle凭据. 属性gradle. 属性设置. gradle
版权所有©2025 天助网