您好,
企业资质

苏州华克斯信息科技有限公司

金牌会员2
|
企业等级:金牌会员
经营模式:商业服务
所在地区:江苏 苏州
联系卖家:华克斯
手机号码:13862561363
公司官网:www.sinocax.com
企业地址:苏州工业园区新平街388号
本企业已通过工商资料核验!
企业概况

苏州华克斯信息科技有限公司是一家从事高新软件技术公司.公司业务范围包括:1、提供国内外软件自动化测试工具产品,如性能测试Loadrunner、功能测试UFT(QTP)、安全测试Fortify/Webinspect/SonarSource等.2、提供软件自动化测试培训服务3、提供国内外**的软硬件及集......

中国sonarqube代理商-苏州华克斯公司

产品编号:100124037858                    更新时间:2025-12-21
价格: 来电议定
苏州华克斯信息科技有限公司

苏州华克斯信息科技有限公司

  • 主营业务:Loadrunner,Fortify,源代码审计,源代码扫描
  • 公司官网:www.sinocax.com
  • 公司地址:苏州工业园区新平街388号

联系人名片:

华克斯 13862561363

联系时务必告知是在"查询123"看到的

产品详情

SonarSource交付管道, 

持续的交付和 DevOps 是众所周知的和广泛传播的做法现在。人们普遍认为, 重要的是组建伟大的团队, 首先定义共同的目标, 然后选择和整合适合于给定任务的工具。通常, 它是一个轻量级工具的混搭, 它们集成在一起建立连续的交付管道并支持 DevOps 的计划。在这个博客文章中, 我们放大到了整个管道的一个重要部分, 这就是经常被称为连续检查的学科, 它包括检查代码并在上面注入一个质量门, 并显示在达到质量门后如何上传工件。DevOps 的启用工具包括詹金斯、SonarQube 和 Artifactory。

的用例你已经知道质量不能在事后被注入, 而是从一开始就应该是过程和产品的一部分。作为一种常用的良好做法, 强烈建议您尽快检查代码并使结果可见。因为 SonarQube 是一个很好的选择。但 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 分析完成并返回质量门状态。如果遗漏了质量门, 则生成将中断。








Ansible SonarQube 升级的角色


你可能知道, 并希望使用 SonarQube。这是一个伟大的工具, 是积极的发展和改善。这是伟大的, 如果你是一个开发使用 SonarQube。但是, 如果您碰巧管理 SonarQube 实例, 则由于升级指南由11步骤组成, 因此不断升级非常麻烦。

停止旧的 SonarQube 服务器

并解压新的 SonarQube 分布在一个新鲜的目录,中国sonarqube代理商, 让我们说 NEW_SONARQUBE_HOME

使用默认的 H2 数据库启动它, 并使用更新中心安装您需要的插件

手动安装任何自定义插件

停止新服务器

更新声纳的内容. 属性和包装. 配置文件位于 NEW_SONARQUBE_HOME/配置目录中, 其内容与 OLD_SONARQUBE_HOME/配置目录中的相关文件 (web 服务器 URL、数据库设置等) 有关。不-粘贴旧文件

如果使用了自定义 JDBC 驱动程序, 请将其到 NEW_SONARQUBE_HOME/扩展/jdbc 驱动程序/

备份数据库

删除数据/es 目录

启动新的 web 服务器

http://localhost:9000/setup (用您自己的 URL 替换 "localhost:9000") 来浏览并按照安装说明进行操作

这是一个太多的步骤, 手动执行。因此, 我决定通过为它编写一个 Ansible 的角色来实现自动化。

初始设置

在我开始编写 Ansible 剧本之前, 我需要找到一种方法来测试我的代码。所以我开始与流浪汉旋转了一个虚拟机, 并提供了一个简单的脚本。这是需要有类似的环境, 以我们的实际 SonarQube 生产实例。我能够增量地构建我的 Ansible 剧本并在这个 VM 上测试它。很快我就明白了, 与流浪汉一起工作会减慢我的速度, 因为我需要重置环境, 而不是的预期。所以我决定考虑泊坞窗。

用于测试的泊坞窗

我找到了正式的 SonarQube 泊坞窗图像, 但无法使用, 因为我们的 SonarQube 实例安装在 CentOS 和官fang图像使用不同的基础图像。另外, 我需要自定义特定的 SonarQube 版本我想开始。因此, 我创建了我们自己的 Dockerfile 与 CentOS 6 基地和 Ansible 安装。

此泊坞窗映像不需要启动 SonarQube,华北sonarqube代理商, 因为我只是想验证是否进行了正确的文件更改, 而我的 Ansible 手册没有错误。升级的第yi步之一就是关闭服务器。

我将我的剧本装入容器, 并在该容器内运行 Ansible, 对该本地环境进行了更改。


当前脚本的路径

TESTS_DIR = $ (cd "$ (dirname" $ {BASH_SOURCE [0]} ")" & & 密码 "

# 命令测试剧本

TEST_COMMAND = "cd/行动 & & ansible-剧本 $ @

-我 " 本地主机 "-c

升级-声纳 database.yml "

# 运行容器安装行动为卷

泊坞 run-v "$ TESTS_DIR/.。/行动/:/行动 "

"声纳-升级-测试"/"垃圾/bash-c" $ {TEST_COMMAND} "

在泊坞窗中运行我的剧本大大减少了反馈回路, 所以我决定泊坞窗是走的路。你可以看看我所有的脚本在 GitHub

Ansible 角色

我一步一步地往前走, 我到达了一个点, 一切似乎都在工作, 我有一个非常有用的 Ansible 的角色在我的手中。它尚未发布到 Ansible Galaxy, 但您可以在 GitHub 的 SonarQube 升级 Ansible 角色项目下找到源文件和文档。

当前 Ansible 角色通过在当前位置旁边创建新安装来升级 SonarQube。这提供了回滚的方法 (如果需要)。

此时, 角色执行以下任务:

确保特定的根用户存在于声纳安装

在所有安装所在的目录中创建声纳. sh

确保 SonarQube 服务存在

停止 SonarQube

新版本

备份数据库

和安装插件

将自定义配置应用于新实例

确保删除数据/es

重新 SonarQube 服务启动新版本

开始 SonarQube

手动步骤

这个过程仍然需要几个手动步骤。

在运行升级手册之前, 应手动确保在升级过程中要安装的插件列表是xin的。您可以从 SonarQube 的管理视图中获得xin支持的版本号。

根据 SonarQube 的建议, 此 Ansible 角色不仅以前安装的配置, 而且使用带有变量的模板来为新实例创建配置。这意味着在执行升级之前, 开发人员可以将模板和基本配置与新的 SonarQube 进行比较。虽然这是一个手动步骤, 但与以前的操作相比, 它更容易, 因为可以使用 IDE 而不仅仅是从命令行中的 diff 工具进行比较。

这两个步骤都需要后续的手动升级, 我认为这些升级准备活动。




SonarQube和JaCoCo的个人测试代码覆盖率

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

运行分析

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

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

在旧版本中运行分析

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

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

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

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



中国sonarqube代理商-苏州华克斯公司由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司拥有很好的服务与产品,不断地受到新老用户及业内人士的肯定和信任。我们公司是商盟认证会员,点击页面的商盟客服图标,可以直接与我们客服人员对话,愿我们今后的合作愉快!

苏州华克斯信息科技有限公司电话:0512-62382981传真:0512-62382981联系人:华克斯 13862561363

地址:苏州工业园区新平街388号主营产品:Loadrunner,Fortify,源代码审计,源代码扫描

Copyright © 2026 版权所有: 查询123店铺主体:苏州华克斯信息科技有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。查询123对此不承担任何保证责任。