蜘蛛客社区 - 商盟推荐
您好,欢迎来到蜘蛛客社区!网站地图
首页 > 电脑/软件 > 资讯正文

华东中国sonarqube开源代码质量管理软件来电咨询「华克斯」

发布者:华克斯 发布时间:2025-10-09 05:54:19

华东中国sonarqube开源代码质量管理软件来电咨询「华克斯」[华克斯]内容:

SonarLint –为 c#、VB.NET、Java、JavaScript、PHP 和 Python 提供一个免费的静态分析工具5月3日, 2017Code 质量, 评论, Toolingsonar 皮棉, 视觉工作室这是一个. NET 的重点帖子。

很高兴看到人们正在构建的东西, 现在 c# 编译器是开源的。我们实际上是在工具中游泳, 这不是一件坏事, 但我需要考虑我的开发管道中有多少工具。我目前在日常工作中使用 ReSharper 和前缀。NDepend 和 PVS-工作室每周一次的基础上, 但只在个人和开源项目。我可以在混合中添加另一个吗?确保!这不是侵入性的, 不会与 ReSharper 或 VS 代码提示冲突。在报告代码相关问题的方式上也有一些轻微的幽默。

通过 IDE 的用法

使用此工具的选项尚未更改, 但它支持三shou欢迎的 IDE 的:

IntelliJ视觉工作室蚀全mian的语言支持来自 IntelliJ 和 Eclipse 的 IDE。如果您使用的是 Visual Studio (VS), 那么您将得到一个很好的 c# 和 VB.NET 规则集。

您也可以在命令行中使用它, 这对于连续生成管线来说是完美的。需要通过 MSBuild 进行分析, 因为它们的命令行工具当前未按广告方式工作。运行分析是很容易的, 而且我可以在构建的末尾处理一个 XML 文件, 以生成报告或存储某处以便随着时间的推移进行分析。需要注意的一点是, XML 报告将在每个项目目录中生成一次。

msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml1msbuild n/p: RunCodeAnalysis = true/p: CodeAnalysisLogFile = MyXmlReport. xml与 Visual Studio 中的规则交互

有一个广泛的214规则 c# 和62的 VB.NET, 虽然它们不是所有的默认启用。可以对规则进行定制, 以便为一个项目运行一个规则集, 并为另一个项目设置另一个规则集, 我将在短期内解释。

在真正的 VS 时尚代码, 违反了其中的一个规则得到一个弯曲线下面的代码行, 然后可以处理通过按 ctrl+。还有漂亮的功能, 这是新的 VS2017, 它使工作与分析仪更愉快。它不仅允许我修复当前正在查看的问题, 而且还可以解决相同的问题文档、项目或解决方案。很好。

正如您在下面所看到的, 还有用于禁止规则的选项。您可以内联或在它为您创建的全局抑制文件中执行此项。

# 杂注指令还有一个说明作为注释, 它可能对其他开发人员有帮助。通常我需要查找杂注代码, 所以这是一个不错的 VS 功能, 提高了整个开发人员的经验。

我真正喜欢的另一个特性是, 这些警告给出了一个简短的段落, 解释了规则冲突背后的原因。这个特别的警告是真正引起共鸣的东西, 因为我不喜欢注释代码。应删除死代码。如果有机会, 你认为你会需要它后, 那么没有问题, 这就是源代码管理的是!

如果您需要完整的规则列表, 我发现联机帮助非常有用, 因为您可以通过各种带有标记的规则类型进行筛选。

定制规则

与 VS works 的代码分析方式保持一致, 您可以通过右键单击分析器节点 inVS 并选择 "打开活动规则集" 来访问规则列表。

从那里, 规则集只是另一个类别节点。如果您想了解有关定制规则集的更多信息, 我有一个关于 Visual Studio 代码分析的博客文章, 它将在更深入地进行。

一个知道的陷阱

我无法得到规则运行在构建和不断得到这个错误。

警告 CA0064: 由于无法加载指ding的规则集或不包含任何托管代码分析规则, 因此未执行任何分析。

我确实在 SonarLint 谷歌集团发布了一个问题, 但据我所知, 它是孤立于我的机器。如果发生这种情况, 您需要添加分析器程序集 SonarAnalyzer.CSharp.dll, 如下所示。

如果希望分析在生成时运行, 请通过 "项目属性" 并单击 "在生成时启用代码分析", 在每个项目基础上启用分析。

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 作为测试自动化的质量门由琳达陈在 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和JaCoCo的个人测试代码覆盖率

围绕JaCoCo听众人工制品的一个警告。虽然在文档中不清楚,但是当JaCoCo侦听器版本与SonarQube中安装的Java插件的版本匹配时,似乎获得了jia效果。在这种情况下,由于我们在SonarQube中安装的Java插件是2.3版,我们使用了listener artefact 2.3版本。我们还用监ting器1.2测试了同样好的结果,但为了防止任何未来的冲突,我们建议保持版本一致。

运行分析

一旦完成了项目配置的更改,您只需要重新执行SonarQube分析即可查看新的报告。

根据您安装的SonarQube Java版本,配置有所不同。

在旧版本中运行分析

当使用的Java插件版本是2.1或更早的版本时,应该在分析执行时才能启用该配置文件,并且只有当分析执行时。这意味着现在需要发射声纳:声纳目标作为单独的Maven构建(建议这样做,但在许多情况下,您可以在一次运行中执行所有目标)。在我们的宠物诊suo版本的情况下:

> mvn清洁验证-P货 - tomcat,硒测试,jmeter测试

> mvn sonar:声纳-P覆盖率测试

如果您的构建是由Jenkins工作触发的,那么新的配置文件应该添加到后期制作操作中,如此屏幕截图中所示:

以上信息由专业从事中国sonarqube开源代码质量管理软件的华克斯于2025/6/20 5:54:19发布

转载请注明来源:http://www.zhizhuke.cn/qyzx/hksxxkj-2870603620.html

上一条:天津热镀锌钢结构加工信赖推荐「在线咨询」

下一条:抚州三股手提绳来电洽谈「多图」

文章为作者独立观点,不代表蜘蛛客社区立场。转载此文章须经作者同意,并附上出处及文章链接。

本页面所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责天助分类信息行业资讯对此不承担直接责任及连带责任。

本网部分内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性。不承担此类 作品侵权行为的直接责任及连带责任。

粤ICP备10200857号