![](https://tzimg3.dns4.cn/pic/192713/p13/20170811125226_4409_zs.jpg)
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 质量门作为詹金斯管线阶段的一部分, SonarQube 配置为运行和检查代码。但这仅仅是第yi部分, 因为我们现在还想添加质量门, 以打破构建。下一阶段正好涵盖了这一点,中国sonarqube修改检测规则, 请参阅下一片段。管道被暂停, 直到质量门被计算, 特别是 waitForQualityGate 步骤将暂停管道, 直到 SonarQube 分析完成并返回质量门状态。如果遗漏了质量门, 则生成将中断。
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161133_2656_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161347_9480_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161348_5261_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161349_0261_zs.jpg)
![](https://tzimg3.dns4.cn/heropic/192713/p2/20220214161508_6654_zs.jpg)
将SonarQube指标集成到TFS构建中 - 简介
2014年7月31日/ ANDYBDEV
我一直在努力将SonarQube整合到我们每周运行的TFS中。如果你不知道SonarQube是否检查出来。它是一个很好的方法来集中有关您的代码的信息,这有助于捕获和跟踪关注KPI的人的指标(如果我们必须让他们至少对他们的代码质量有积极的作用),同时给那些“它是一个中心的地方,可以看到他们可以改进的代码质量等问题。
以前,代理商sonarqube修改检测规则,我们从TFS开发了一个单独的Jenkins构建阅读源,但是我们希望摆脱这个额外的构建,并且只需在TFS中执行一次 - 似乎有点浪费和耗时地整理Jenkins以及TFS。事实证明,我已经有了很好的时机(在写作的时候),近才有声纳可以处理微软测试结果和覆盖文件的上传(分别为.trx和.coverage) - http://dehaus .ORG /显示/ SONAR / C%23 +插件。
方法 - 使用标准的TFS Build工具包
不幸的是,将SonarQube集成到TFS构建中并不是直接的过程。那里已经有可以为您进行扫描和上传方面的定制活动(http:///2013/10/sonar-build-activity-for-tfs-updated/)。我不太喜欢自定义程序集,因为您需要创建一个项目来管理模板,并提供大量引用来删除所有的警告和错误,并且实际上允许您配置导入的活动,代理商sonarqube修改检测规则,从那时起就成为一个需要从项目中编辑你的模板 - 我知道..它没有什么大不了的,但我宁愿把它作为一个简单的可编辑工作流程。然后,您需要将程序集提供给构建控制器,我希望避免需要这样做 - 加上我曾经遇到过这样的问题,以便与过去的托管Team Foundation Service一起工作,这在历史的上使我无法避免。
考虑到这些要点,我已经采取了一种方法,这意味着大多数工作可以使用标准活动在构建模板中完成,其余的工作可以在几个可以坐在源中的批处理文件中完成。
我会引导你完成这个过程。
购买 SonarQube 作为测试自动化的质量门由琳达陈在 2017年4月13日 |4分钟阅读1SonarQube (原名声纳) 被广泛用于各种项目的代码质量管理工具, 提供跟踪和提高源代码质量的功能。此类功能还可用于测试自动化, 以量化测试脚本的质量, 因为自动检测脚本的本质是代码。
测试自动化的 SonarQube 特性
为不同的利益相关者提供定制的度量标准每个项目都有不同的利益干系人, 如客户、项目经理、架构师、开发人员和测试人员, 他们拥有完成项目的各种技术或知识。因此, 他们对项目质量的关注是多种多样的。不同群体的利益干系人的质量度量标准是不同的, 这为查看 SonarQube 的价值提供了一个良好的环境, 因为该工具为不同的用户提供了定制的度量标准。 下表显示了针对不同项目角色的 SonarQube 质量度量的一个很好的示例。
支持项目的多种编程语言尽管用 java 编写, SonarQube 可以在大约20多个不同的编程语言 (包括 java、Python、c/c++) 中分析代码。可以自动检测到不同的编程语言, 并调用相应的语言分析器。因此, 即使目标测试脚本由多种不同的编程语言组成, 声纳仍然能够跟踪、分析和创建有关代码质量的报告。
使用行业标准 (代码分析器) 提供测试规则在更大的图片中, SonarQube 提供了行业规则模板, 用户可以根据需要自定义质量规则。对于自动测试, 可以应用一堆规则。下面提供了示例规则:
除了检查现有项目的源代码, 为了进行自动测试, 声纳可能需要根据某些要求停用或更新一些规则。
示例规则可以删除, 如下所示:
示例规则可以更新如下:
除了上面给出的特性, SonarQube 还具有诸如 DevOps 集成、聚合仪表板、时间机器等功能, 所有这些都可以帮助测试自动化项目变得更具可追溯性和可见性。
如何通过与数据库 mysql 的集成来设置 SonarQube
设置 SonarQube 是很简单的。但是, 不建议将嵌入在 SonarQube 中的默认数据库 H2 用于生产用途, 因为它无法进行缩放。 为了更好的维护和可伸缩性, 我们建议用 mysql 这样的另一个数据库替换 H2。下面是在 windows 平台中为 SonarQube 设置 mysql 的一个示例。
前提
在您的计算机上安装 Java (Oracle JRE 8 开始或 OpenJDK 8 起)。步骤:
1.Install. 用 mysql 建立数据库
a. 从 并安装, 然后启动 mysql
b. 为声纳创建数据库, 包括创建用于访问数据库的管理员帐户。例如, 通过在 sql 下运行, 使用用户帐户声纳和密码声纳创建名为声纳的数据库:
代理商sonarqube修改检测规则-华克斯由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司拥有很好的服务与产品,不断地受到新老用户及业内人士的肯定和信任。我们公司是商盟认证会员,点击页面的商盟客服图标,可以直接与我们客服人员对话,愿我们今后的合作愉快!