SonarSource结论
由 SonarSource 设计和实现, 内部质量连续检测是一个整体,完全实现的过程, 旨在使代码质量成为软件开发生命的一个组成部分循环并提高其在整个生命周期中的所有利益干系人的可见性。连续检查范例是非常有效的, 并已被证明是在现实世界中工作, 在所有行业从 one-man 商店到财富100强企业不等的组织。连续检测是一种新的软件质量模型, 它包含较短的反馈回路确保快速解决质量问题。简而言之, 它是一个从一开始就建立质量的模型,而不是事后考虑。随着持续的检查, 发现质量缺陷-和纠正--在开发过程的早期, 影响很小而且易于管理。一些问题将在开发人员的 IDE 中被的捕获, 然后再进行签入。其余的将被报告在一天内, 虽然代码仍然是新的开发人员的头脑和修复仍然便宜和容易。这快速反馈周期具有提高质量和教育开发者的双重效益。连续检查很好地适应了敏捷和瀑布开发环境, 并解决了传统方法的缺点。持续的检查提供了改进的质量对开发过程和时间线的xiao中断。持续的检查促进了团队协作和生产力的增强, 并产生了强大团队对代码质量的归属感, 因为质量过程与代码本身一样, 是由团队。在那里, 准时的审计被嘲笑为迅速过时, 并忽略增量软件开发的性质, 连续检查提供了一个即时性和清晰的图片软件质量随时间推移。随着持续的检查, 质量的感知成本是零, 因为质量是混合无缝地进入开发过程本身。经过不断的检验, 企业终于可以接受代码质量 whole-heartedly, 并da化其软件 ROI。
SonarSource
提高应用价值, 降低软件开发风险
成功的组织在过程中向前移动质量分析并使其迭代
作为整个软件开发生命周期的一部分。开发和测试世界和业务
方法以及正在向敏捷模型演进-持续的价值生成/连续
改进/连续检验是提高质量的重要战略。这些都是
IDC 为 end-user 客户和服务提供商所观察到的关键策略:
传统的代码质量方法通常在测试成为检查表项时失败
在开发过程结束时, QA 团队运行一个工具并返回
开发团队在软件进入之前需要采取的行动列表
生产.这可能导致延迟和预算超支。所以会发生什么
经常是管理标志移动项目, 没有质量门
发展.
在项目开始时从项目代码分析中收集适当的度量标准
是至关重要的。如果没有正确的度量标准 (或任何度量标准), 代码库可能会在没有人注意的情况下恶化, 或者在技术债wu达到一定的时候才会注意到
在时间和预算限制的情况下, 成本太高而无法解决的级别。收集
代码度量连续可以提供可见性, 并使团队的优势
控制代码库的技术债wu。
理解要修复的代码也是必不可少的。通常, 团队开始重构
因为他们认为代码库在性能、脆性、不稳定性方面是不好的,
难于维护和扩展。但如果没有正确的语境分析, 它是
无法检测到代码库的哪个部分负责所遇到的问题。
因此, 更改可能会应用到错误的代码, 或者正确的代码被重构
错误的方式, 或只有部分问题得到解决。这是一个度量和工具的领域
可以通过标识导致问题的代码部分来帮助。
确保持续的软件质量是成功的关键
end-user 公司和服务组织都必须运行软件开发作为
业务.这样做的一部分是管理软件的远程可维护性, 即
发展今天你需要保持明天。积极主动的架构, 也
所创建内容的质量是管理软件长期支出的关键
维护;保存错误的、结构较差的软件是更昂贵的。
在这方面, 应用程序维护团队还需要对软件进行可视化, 以便能够更好地
维护代码以降低成本, 实现更好的质量, 并提高客户响应能力
和 ROI。在将任何代码发送到客户之前, 为代码建立一致的进程
分析可以帮助确保必须运行软件的公司的长期改进
有效地发展。
SONARSOURCE 和 SONARQUBE 平台
SonarSource: 介绍
SonarSource 是一家瑞士公司, 成立于2008年。该公司诞生的愿望
处理和解决与软件质量相关的不断增长的问题, 并为市场带来解决方案
可以跟踪的软件开发过程中的代码质量。在竞争激烈的市场中
来自少数提供商的服务, SonarSource 的投资组合是由它的根在开放的区别
来源, 其可访问性, 和一系列的参与选项从包装和定价
角度.
SonarQube 平台被创造了并且采取了到市场 (初作为 "声纳"), 与 SonarSource
在2009年10月发布该平台的第yi个商业插件。到 2010年3月,
SonarSource 开始看到社区和企业都接受了 SonarQube 平台,
到那时, 一个月被下载超过2000次。在 2010年5月, SonarSource
发布的 COBOL 和 Visual Basic plug-ins, 随后几个月后由一个 SQALE 插件,
c# 插件 (2011年6月) 和 PL/SQL 插件 (2011年9月)。
该公司的主要意图是带来负担得起的和直观的质量解决方案和分析
开发人员还提供了广泛、分布式使用的功能。今天, SonarSource 有
全球约有350客户, 包括德意志银行、美国银行、米其林、
西班牙、法国巴黎银行、泰雷兹和 EADs。SonarQube 平台使用约300
客户, 与3万和4万安装。该公司已看到的
在过去几年的增长, 它现在雇用了超过30员工, 从20人
就在12月前
SonarSource交付管道,
持续的交付和 DevOps 是众所周知的和广泛传播的做法现在。人们普遍认为, 重要的是组建伟大的团队, 首先定义共同的目标, 然后选择和整合适合于给定任务的工具。通常, 它是一个轻量级工具的混搭, 它们集成在一起建立连续的交付管道并支持 DevOps 的计划。在这个博客文章中, 我们放大到了整个管道的一个重要部分, 这就是经常被称为连续检查的学科, 它包括检查代码并在上面注入一个质量门, 并显示在达到质量门后如何上传工件。DevOps 的启用工具包括詹金斯、SonarQube 和 Artifactory。
的用例你已经知道质量不能在事后被注入, 而是从一开始就应该是过程和产品的一部分。作为一种常用的良好做法, 强烈建议您尽快检查代码并使结果可见。因为 SonarQube 是一个很好的选择。但 SonarQube 不只是运行在任何孤立的岛屿, 它是集成在一个输送管道。作为管道的一部分, 代码被检查, 并且仅当代码根据定义的要求是好的, 换句话说: 它满足质量门, 被建立的工件被上传到二进制存储库管理器。
让我们考虑下面的场景。其中一个繁忙的开发人员必须修复代码, 并检查对中央版本控制系统的更改。白天很长, 晚上很短, 而且对所有团队的承诺, 开发人员没有检查本地沙箱中代码的质量。幸运的是, 有构建引擎詹金斯作为一个单一的真理点, 实现交付管道与其本地管道功能, 并作为一个方便的巧合 SonarQube 有支持詹金斯管道。
此更改将触发管线的新运行。哦不!生成管线中断, 并且未进一步处理更改。在下面的图像中, 您会看到已定义的质量门被忽略。可视化是由詹金斯蓝色海洋完成的。
01 PipelineFailedBlueOcean
SonarQube 检验潜在的问题是什么?我们可以打开 SonarQube 的 web 应用程序并深入查找。在 Java 代码中, 显然没有将字符串文本放在右侧。
02发现
在团队会议中, 决定将其定义为一个阻止程序, 并相应地配置 SonarQube。此外, 建立了一个 SonarQube 质量门, 以打破任何建设, 如果一个拦截qi被确定。现在让我们快速查看代码。是的, SonarQube 是对的, 下面的代码段有问题。
03 FindingVisualizedInCode
我们不希望详细讨论所有使用的工具, 也涵盖完整的詹金斯构建工作将超出范围。但有趣的提取这里的检查方面是在詹金斯管道 DSL 中定义的以下阶段:
配置. xml: SonarQube 检查阶段 ("SonarQube 分析") {withSonarQubeEnv ("声纳") {mvn 组织 sonarsource 扫描仪. maven: 声纳-maven-插件: 3.3. 0.603: 声纳 +"-f 所有/pom" xml +"-Dsonar projectKey = com. huettermann: 全部: 主" +"-Dsonar" 登录 = $ SONAR_UN +"-Dsonar" 密码 = $ SONAR_PW +"-Dsonar" 语言 = java +"-Dsonar。' 的+"-Dsonar。' 的+-Dsonar 测试. 夹杂物 = ** 测试 *** +"-Dsonar. 排除/**/** 测试 ***"}}用于运行 SonarQube 分析的阶段。允许选择要与之交互的 SonarQube 服务器。运行和配置扫描仪, 许多可用的选项, 请检查文档。许多选项可用于集成和配置 SonarQube。请参阅文档中的替代方案。同样适用于其他覆盖的工具。SonarQube 质量门作为詹金斯管线阶段的一部分, SonarQube 配置为运行和检查代码。但这仅仅是第yi部分, 因为我们现在还想添加质量门, 以打破构建。下一阶段正好涵盖了这一点, 请参阅下一片段。管道被暂停, 直到质量门被计算, 特别是 waitForQualityGate 步骤将暂停管道, 直到 SonarQube 分析完成并返回质量门状态。如果遗漏了质量门, 则生成将中断。
以上信息由专业从事代理商sonarqube静态安全扫描工具的华克斯于2025/2/21 12:41:09发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2842769182.html
上一条:高温助焊剂货真价实「易弘顺电子」