SonarQube 平台
SonarQube 是一个连续的质量分析平台, 它作为 web 服务器运行, 跟踪指标
分析代码和代码结构。SonarQube 是一个开源平台, 并被开发
牢记一个主要目标: '使代码质量管理可供每个人使用
xiao的努力。SonarQube 生态系统是由 SonarQube 平台和一套
plug-ins 在公共基础设施上担任东道主。
SonarQube 实质上提供了代码分析器、仪表板、报告工具、问题跟踪和
TimeMachine 作为功能, 但它也有一个插件机制, 使社区能够
扩展功能 (当前有超过 60 plug-ins 可用)。
SonarQube 可以成为源代码质量的协调中心, 因为它不需要
限于开发人员或技术娴熟的, 但可以提供有用的信息广泛
项目经理, 技术领导, IT, 甚至在一个组织内的业务领导
可自定义的仪表板。SonarQube 的建筑和 plug-ins (如 SQALE) 和
管理和跟踪技术债务的机会可以为管理人员提供关键信息和
业务在整个软件生命周期中反复地主动地解决缺陷。他们提供
与质量和成本有关的项目的概述, 并帮助解决风险。
SonarQube 提供的不仅仅是关于软件健康的指标。由于开发人员
提供了一个粒度代码级别的信息, SonarQube 使这些构建软件
查找并深化到存在代码问题的位置。SonarSource 的产品组合使
对软件变更领域的反馈和影响分析, 并提供反馈, 说明如何
改进开发方法。产品还提供与构建管理的协调
(与詹金斯的支持), 以帮助实现持续集成的部署。
SonarQube 集成的工具, 如 FindBugs, Checkstyle, PMD, FXCop的, C的p的p的Check 出 of-the-box,
或提供 plug-ins。然后, 它可以充当代码分析工具的中心中心,
从而为多个项目提供历史洞察力和趋势分析。一体化的地方
分析和报告是一个加号, 即使组织选择不对发送的报告采取行动。
可以访问有关代码复杂性的历史数据和发现的问题工具的数量
该代码可以提供是否有效地构建软件的可视性, 或者如果方法
需要改变。
在语言方面,中国sonarqube报价, SonarQube 支持分析 Java 的, 但也有超过20
语言, 如 COBOL、c++、PL/SQL 和 c# 通过 plug-ins (开源或商业)
因为报告引擎是语言不可知的。
SonarQube 使组织能够在七轴上覆盖质量并报告:
?重复代码
?编码标准
按单元测试?覆盖范围
?复杂代码
?潜在 bug
?评论
?设计与体系结构
xin版本还改进了软件质量属性的评估, 并
一个更好的工作范围的技术债务和孤立的问题, 创造技术债务,
根据参考。SonarQube 是可配置的, 可以给代码一个 '等级' (从 a 到
E), 并可以确定它通常在努力和所需的工作类型方面的成本
改进软件。例如, 由于缺少单元测试, 代码可能有较低的评级, 或者
由于大量的重复代码或安全违规。SonarQube 将显示
违规行为是并将估计解决这些问题的费用。用户可以更改工作量估计和
他们会被计算在内, 这是有帮助的。此版本还可以使比较团队
根据需要对项目和组织的各个部分进行评估。
虽然 SonarQube 可以在战shu上用于一次性审计, 但它可以更具战略性地利用
作为一个共享的, 共同的信息来源的质量分析正如刚才所描述的, 以帮助
支持代码质量的持续改进策略。
各种各样的组织使用 SonarQube 提供的产品组合的范围 (从
本公司的免费 '开源' 选项给企业, 站点范围内的 '终ji' 许可版本)。
然而, 目标在是大和非常大公司与企业, 分布
开发团队和合作伙伴协调。一人团队可以使用开源版本
显然, 这可以作为一个坡道上的收养。但一旦一个组织越过
在开发项目和用户的数量方面, 需要移动到
商业企业解决方案。IDC 发表了三企业客户参考
SonarQube, 主要是开始开放源码收养, 获得立足点, 然后演变
到部署1000以上的用户。
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 泊坞窗图像, 但无法使用,中国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 工具进行比较。
这两个步骤都需要后续的手动升级, 我认为这些升级准备活动。
SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, 终开发更好的软件。通过每天对 575万 SonarQube 的分析, 斯里巴加湾市 (业务解决方案构建者) 成功地提高了其整个软件产品套件的质量。斯里巴加湾市为金融人士和人寿保险公司提供商业解决方案和 IT 服务。它的软件框架在三不同的地点被广泛使用: 比利时、卢森堡和爱尔兰。斯里巴加湾市的开发和质量团队一直在寻找you秀的软件质量工具, 以获得更深层次的洞察力, 更好地管理内部代码质量, 考虑到拥有一个强健的框架, 以此为基础进行产品开发的战略意义。如何提高软件质量和开发人员的工作效率?
直到 2009, 斯里巴加湾市依赖于不同的开源工具, 如 Cobertura、Checkstyle 和 Findbugs, 来识别和管理 in-house 软件框架中所有主要产品的质量问题。斯里巴加湾市面临着这些工具的重大挑战, 显著的是缺乏统一的界面来查看和跟踪质量问题。这些工具也缺乏衡量质量演变的能力随着时间的推移, 使评估斯里巴加湾市框架质量的改进变得困难。总的来说, 这种方法导致了零散的质量指标, 并没有给斯里巴加湾市的开发团队提供他们所需要的产品质量洞察力。由于斯里巴加湾市的框架被80多个不同地点的广泛使用,代理商sonarqube报价, 因此对于公司来说, 确保框架的实施符合jia做法和尽可能高的质量, 具有战略意义。研究和技术小组找到了一个客观的系统来确定构成高质量代码的因素, 以确保这些因素得到适当的跟踪, 并随着时间的推移来衡量这些因素的演变。解决方案: 统一度量、自定义仪表板和连续检查
在 2009年, 斯里巴加湾市的研究和技术小组决定尝试与 SonarQube 平台的概念证明, 以验证其功能, 并验证它将满足斯里巴加湾市的需要。在三月内, 很明显, SonarQube 很容易满足所有的要求, 并可以允许斯里巴加湾市客观地测量和验证代码质量。特别是, 该团队对 SonarQube 的连续检查功能印象深刻, 这使得他们能够在每两周的发布周期内和之后测量质量的变化, 从而加深对质量问题的理解。这使得开发人员和管理人员能够更轻松地相互合作, 了解并解决质量问题。斯里巴加湾市能够推动创新并维护其软件组合
除了简单地解决现有的质量问题, SonarQube 帮助更好地在他们的工作, 根据斯特凡·德勒克 Nicoll, 框架开发的负责人。'SonarQube 平台是一种独yi无二的连续检测工具。诸如差异仪表板、时间线和历史表等功能使每一个团队成员都能提高其技能。有关规则违规、包缠、重复、代码覆盖率和 API 文档的报告帮助我们向其他开发人员提供了坚如磐石的库。简而言之, SonarQube 平台帮助我们编写了更好的代码。但更重要的是, 它也帮助我们作为一个团队互相学习, 提高我们的技能。今天, 斯里巴加湾市运行两个 SonarQube 实例, 分析了31多个项目和575万行代码。斯里巴加湾市的技术架构师和质量经理广泛使用 SonarQube 的历史和自定义仪表板来关注已被确定为重要的度量标准。迷你图用于验证进度, 警报阈值用于快速识别需要立即注意的事件。SonarQube 的插件库对斯里巴加湾市也具有极大的价值, 因为它使该公司能够轻松地将 SonarQube 平台与现有的 it 和应用程序生命周期管理 (ALM) 基础结构集成在一起。SonarQube LDAP 插件减轻认证和授权斯里巴加湾市的现有权限基础结构, 詹金斯插件集成 SonarQube 现有的连续集成基础结构, 和 SCM 活动插件, 帮助架构师和 QA 经理确定团队成员, 以联系有关代码质量问题。此外, SonarQube 的 extens
代理商sonarqube报价-华克斯由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司是江苏 苏州 ,行业软件的见证者,多年来,公司贯彻执行科学管理、创新发展、诚实守信的方针,满足客户需求。在华克斯领导携全体员工热情欢迎各界人士垂询洽谈,共创华克斯更加美好的未来。