SonarSource
如果您想知道项目使用的内部或外部库,则可能需要查看项目的内容,包括pom.xml文件。如果您使用SonarQube,则不再是这种情况,因为库是一种组件,它会招募您的应用程序所依赖的组件,并且比手动搜索。
(以上是示例应用程序的截图)
也可以在任何仪表板上添加任何Widget(Widget是组成仪表板的组件),如下所示。
(以上是示例应用程序的截图)
问题向下钻
只是被告知某事是错误的,代理商sonarqube中国总代理,这里的分数是多少错误或不正确的东西,没有帮助。一个更有建设性的反馈是,这里有什么问题,这是你可以做些什么来解决它。
问题钻取是一个这样的仪表板,我们可以找到这样的信息或足以知道什么是错误,以及如何去修复它(有时)。它还存档较旧的和封闭的问题,并通过给出各种严重程度来表明问题是多么糟糕,华南sonarqube中国总代理,即阻止信息。
(以上是上的示例应用程序的截图)
任何Dashboard页面右上角的“管理信息中心”选项(如下)用于创建可以放置小部件的新的信息中心页面。
同样,每个“仪表板”页面上的“配置”窗口小部件链接允许在“仪表板”页面的任何位置添加,删除或更改窗口小部件的位置。
(以上是Apache Comm Collection的截图)
标签或词云是一种非常受欢迎的概念,被大量用作可视化形式来传达指标 - 如上所示,这是Apache Comm Collection库的一个例证。
商业组件 - SQALE
SQALE是一个专有组件,社区版本不可用,尽管SonarQube的Nemo项目[07]提供了演示版本。 SQALE是一项技术债wu评估工具,更多细节可以在[08]找到。
Ansible SonarQube 升级的角色
你可能知道, 并希望使用 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, 因为我只是想验证是否进行了正确的文件更改, 而我的 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 的产品和服务提高生产率, 降低风险, 终开发更好的软件。ThalesRaythe***ystems 使用 SonarQube 作为 '集成解决方案, 在开发项目的每个级别都易于使用'。ThalesRaythe***ystems 是一个跨大西洋的合资企业, 专门从事监视雷达, 空中操作指挥和控制系统, 和地面武qi定位雷达。公司是雷神与 ThalesGroup 之间的50:50 家合资企业, 通过将传感器、操作中心和电信网络集成到空中作战和战场系统, 为复杂的任务提供关键的 decision-making 解决方案。其活动;它包括系统集成、复杂的程序管理、实时软件和人机界面, ThalesRaythe***ystems 必须依赖于强大、高质量和可维护的软件应用程序的组合。软件质量是跨技术和工作包的必须
在部署 SonarQube 之前, ThalesRaythe***ystems 评估了几个软件质量工具, 但没有一个符合条例草案。有些还没有集成到开发环境中, 有些颁发了许可问题, 还有一些则缺乏涵盖的技术和可用的功能。结果, 只分析了一些组件和项目, 结果没有被利用。由于该过程的 '重重量' 性质, 对 ThalesRaythe***ystems 的应用组合的长期可持续性和可维护性构成了真正的挑战, 因此很少出现质量改进。ThalesRaythe***ystems 正在走向持续集成, 包括软件质量分析的过程。考虑到环境的复杂性, ThalesRaythe***ystems 需要一个能够很好地集成其现有基础结构的解决方案, 并且能够灵活地在整个软件组合中使用, 包括多种技术和广泛的应用程序。SONARQUBE 与工具集合
ThalesRaythe***ystems 选择了 SonarQube, 并要求从 SonarSource 行政培训会议, 以加快通过和上岗过程。乔塞纳丹尼斯记得她的第yi印象: 'SonarQube 解决方案是非常容易使用, 它是集成在詹金斯管理的工作。它符合 ThalesRaythe***ystems 的需要, 因为我们有许多组件, 许多工作包, 在不同的语言, 和 '意见' 的概念是的。在的培训和演示之后, ThalesRaythe***ystems 比较了以前使用工具集 (免费软件和商业与每用户许可证) 的方法, 与它使用的自由和商业 SonarSource 产品的组合: c/c++、投资组合管理 (视图) 和技术债务计算 (SQALE)。丹尼斯说: '这显示了在实施解决方案和成本方面所需时间的显著增长, 因为许可证模型更适合我们的需要。由于其功能、技术覆盖面和许可模式, SonarSource 解决方案为 ThalesRaythe***ystems 提供了更佳的投资。丹尼斯还赞扬了 SonarSource 团队在集成 ThalesRaythe***ystems 的 c/c++ 语言的规则方面的支持和响应能力, 这是适用于更广泛的 c++ 社区的 c++ 插件。ThalesRaythe***ystems 的另一个引人注目的特性是将 SQALE 方法集成到 SonarQube 中, 从而使组织能够精que地跟踪其技术债务的补救成本。成功实施端到端软件质量过程
现在, SonarQube 已完全融入 ThalesRaythe***ystems 的环境和文化, 开发团队定期审查软件质量结果, 并采取具体行动, 根据里程碑和成本提高代码质量, 而项目组合管理功能允许软件配置管理人员在项目和整个软件组合中获得结果。展望未来, ThalesRaythe***ystems 有进一步的计划, 以改善其软件质量的过程。它将在分析中添加单元测试和集成测试的控制。它还计划部署 SonarQube Eclipse 插件, 以使开发人员能够在开发环境中直接在本地检测和更正问题。丹尼斯说, 她会推荐 SonarQube 和 SonarSource, 因为 'SonarQube 是一个集成的解决方案, 易于在开发项目的每个级别使用。SonarSource 有一个很好的支持和 ThalesRaythe***ystems 受益于良好的合作与 SonarSource。
华克斯-华南sonarqube中国总代理由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司坚持“以人为本”的企业理念,拥有一支高素质的员工队伍,力求提供更好的产品和服务回馈社会,并欢迎广大新老客户光临惠顾,真诚合作、共创美好未来。华克斯——您可信赖的朋友,公司地址:苏州工业园区新平街388号,联系人:华克斯。