商盟旺铺
华南代理商sonarqube 扫描报告的行业须知「华克斯」
来源:2592作者:2022/2/23 4:14:00






SonarSource简介

连续检查是一个整体的、完全实现的过程, 旨在使内部代码质量成为软件开发生命周期的一个组成部分。***白皮书本文详细介绍了代码质量管理中的关键问题。然后介绍了连续检查范式, 并说明了它如何解决这些挑战, 支持数以千计的企业提高其软件质量。有效地定义和增加需求:SonarQube有一套预先定义的标准,使开发人员和软件管理人员能够立即了解应用程序的质量。通过在整个生命周期中提高所有利益干系人的***度, 连续检查使企业能够接受代码质量 whole-heartedly。在 SonarSource 的支持下, 持续的检验范式是非常有效的, 并已被证明在现实世界中的工作, 从小公司到财富100强的企业, 在所有行业。


SonarSource结论: 在生活中不断发展和提高代码质量

周期

现在, 软件比以往任何时候都更能推动竞争优势和企业成功。作为

公司越来越需要提高质量和不良的后果的方法

软件开发是可见的, 可以对创收产生严重的损害, 并

客户和前景的参与, 我们认为迫切需要改善的行为

关于代码质量。正如 "未经检验的生活不值得生活" 一样, 未经检验的代码

不值得部署。无论是公司还是客户和前景, 他们正在寻求

参与能够继续采取无效的质量方针。

连续代码检查具有自定义规则的能力, 可以提供一个好的工具来

赋予工程经理诊断指标的能力 (并以审慎、谨慎的用法,

结果度量)。对正在发生的事情的可见性是冷静的, 有助于使

行为更改有助于提高开发团队的质量, 将更高

更好的卫生责任。

一个单一的门户, 如提供的 SonarSource 与 SonarQube-与能力

自动化数据收集-不仅是质量本身, 而是关于启用更***

测试.代码质量的可见性为有效决策提供了基础。产品如

这可以帮助组织通过单个集线器来检查和理解软件开发, 以

开始将软件开发作为一个业务来管理。

许多组织已经变得太接受劣质软件开发, 并且容易

-或勉强-同意交付的软件产品, 是晚, 超过预算, 并盛行

缺陷.如果使用得当, 自动化的代码分析工具可以启用一个起点来处理

软件开发作为一个真正的业务。好处可以包括更多的产品发布

稳定并增强对开发团队和合作伙伴服务组织的信任和信任

(对于那些外包开发)。

我们的结论是, 重要的是要强调, 虽然这些类型的产品可以帮助

衡量软件项目的质量他们不应该被当作 "责备工具"。指的

手指不会导致有效的团队协作和更好的执行。质量的重点

衡量标准必须是提高代码质量, 以推动积极的行动, 以改善整个团队

协作和软件开发, 以改善整体的公司执行。它

是整个团队的责任, 以检测和纠正代码质量问题, 就像它是

当软件成功并推动业务时, 团队的利益和组织的利益

创新, 执行力强。

简而言之, 代码分析产品可以帮助组织分析有关代码的情况

发展, 采取行动, 并量化改进。IDC 建议评估和采用

这些类型的自动化方法以及组织和过程的变化

必要的, 以使有效的采用和改进的软件质量战略。



Ansible SonarQube 升级的角色


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

停止旧的 SonarQube 服务器

***并解压新的 SonarQube 分布在一个新鲜的目录, 让我们说 NEW_SONARQUBE_HOME

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

手动安装任何自定义插件

停止新服务器

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

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

备份数据库

删除数据/es 目录

启动新的 web 服务器

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

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

初始设置

在我开始编写 Ansible 剧本之前, 我需要找到一种方法来测试我的代码。所以我开始与流浪汉旋转了一个虚拟机, 并提供了一个简单的脚本。这是需要有类似的环境, 以我们的实际 SonarQube 生产实例。我能够增量地构建我的 Ansible 剧本并在这个 VM 上测试它。SonarQube是可配置的,可以给代码一个"等级"(从a到E),并可以确定它通常在努力和所需的工作类型方面的成本改进软件。很快我就明白了, 与流浪汉一起工作会减慢我的速度, 因为我需要重置环境, 而不是***的预期。所以我决定考虑泊坞窗。

用于测试的泊坞窗

我找到了正式的 SonarQube 泊坞窗图像, 但无法使用, 因为我们的 SonarQube 实例安装在 CentOS 和官fang图像使用不同的基础图像。另外, 我需要自定义特定的 SonarQube 版本我想开始。?的能力,以不同的层次整合的指标,在各不相同的意见-在客户级别,在开发人员级别和/或业务单位级别-并将它们上卷成"一个真理之源"。因此, 我创建了我们自己的 Dockerfile 与 CentOS 6 基地和 Ansible 安装。

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

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


当前脚本的路径

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

# 命令测试剧本

TEST_COMMAND = "cd/行动 &amp; &amp; 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 工具进行比较。

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




华克斯 (业务联系人)

13862561363

商户名称:苏州华克斯信息科技有限公司

版权所有©2024 天助网