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 驱动程序/
备份数据库
删除数据/es 目录
启动新的 web 服务器
http://localhost:9000/setup (用您自己的 URL 替换 "localhost:9000") 来浏览并按照安装说明进行操作
这是一个太多的步骤,中国sonarqube规则, 手动执行。因此, 我决定通过为它编写一个 Ansible 的角色来实现自动化。
初始设置
在我开始编写 Ansible 剧本之前, 我需要找到一种方法来测试我的代码。所以我开始与流浪汉旋转了一个虚拟机, 并提供了一个简单的脚本。这是需要有类似的环境, 以我们的实际 SonarQube 生产实例。我能够增量地构建我的 Ansible 剧本并在这个 VM 上测试它。很快我就明白了, 与流浪汉一起工作会减慢我的速度, 因为我需要重置环境, 而不是的预期。所以我决定考虑泊坞窗。
用于测试的泊坞窗
我找到了正式的 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,西南sonarqube规则, 但您可以在 GitHub 的 SonarQube 升级 Ansible 角色项目下找到源文件和文档。
当前 Ansible 角色通过在当前位置旁边创建新安装来升级 SonarQube。这提供了回滚的方法 (如果需要)。
此时, 角色执行以下任务:
确保特定的根用户存在于声纳安装
在所有安装所在的目录中创建声纳. sh
确保 SonarQube 服务存在
停止 SonarQube
新版本
备份数据库
和安装插件
将自定义配置应用于新实例
确保删除数据/es
重新 SonarQube 服务启动新版本
开始 SonarQube
手动步骤
这个过程仍然需要几个手动步骤。
在运行升级手册之前, 应手动确保在升级过程中要安装的插件列表是xin的。您可以从 SonarQube 的管理视图中获得xin支持的版本号。
根据 SonarQube 的建议, 此 Ansible 角色不仅以前安装的配置, 而且使用带有变量的模板来为新实例创建配置。这意味着在执行升级之前, 开发人员可以将模板和基本配置与新的 SonarQube 进行比较。虽然这是一个手动步骤, 但与以前的操作相比, 它更容易, 因为可以使用 IDE 而不仅仅是从命令行中的 diff 工具进行比较。
这两个步骤都需要后续的手动升级,代理商sonarqube规则, 我认为这些升级准备活动。









SonarSource简介
如何使这一切一起工作?从编码到升级您的构建, SonarSource 产品将支持整个软件开发生命周期, 以管理代码质量、降低风险并终提供更好的软件。当编码
在存在问题之前修复它们。不需要处理质量问题的hao方法是不首先将其注入。这是 SonarLint 的首要任务作为 ide 的扩展, 它可为开发人员提供新的 bug 和质量问题的即时反馈。编码推当推
将自动和手动代码复查结合在请求上, 以启用受教育的合并。拉请求是进行代码复查的jia场所, 因为它们是在功能完成但尚未合并到主分支中时创建的。请求分析器将运行自动代码分析, 并在请求中直接提供结果以及其他任何评论, 这些都是发生的,中国sonarqube规则, 允许负责合并的人做出有教养的决定。当促进
SonarQube 是代码升级到测试和生产环境的收费门。质量门是一个主要的, 现成的 SonarQube 功能。它提供了在每次分析时都能知道应用程序是否通过或失败发布条件的能力。换句话说, 它告诉您在每个分析应用程序是否准备好生产 "上"。因此, 在推广文的物之前, devOps 将被用作守门人。促进管理投资组合当管理
SonarQube 充当散热器, 可维护性、可靠性和安全性。组织的管理层必须能够评估与其应用程序相关的风险。这种能力来自于企业包中的治理产品, 以及将项目合并到一个结构化的应用程序组合中。








SonarSource
5个工具可以帮助您编写更好的Java代码
在IDR解决方案方面,我们一直在寻找改进我们的Java PDF库和我们的PDF到HTML5转换器的方法。hao的方法是改进我们编写的Java代码,我们使用一些有用的工具来帮助我们改进代码,也有助于提高生产力。
在本文中,我们将介绍我们在IDR Soluti中使用的5种的工具,以及如何帮助Java Developers编写更好的代码。我还撰写了一篇针对更具体的领域的后续文章,这是一个帮助您进行Java性能调整的9种工具。
FindBugs的
umdFindbugsFindBugs是一个开放源代码程序,根据Lesser GNU公共许可证的条款分发,并以Java字节码而不是源代码运行。
该工具使用静态分析来帮助确定Java程序代码中的数百种不同类型的错误,包括空指针解引用,递归循环,Java库和死锁的不良用法。
FindBugs主要用于识别大量应用中的数百个严重缺陷,并且能够确定潜在错误的严重性,并分为四个等级:
1scariest
2scary
3troubling
4of concern.





中国sonarqube规则-苏州华克斯信息由苏州华克斯信息科技有限公司提供。中国sonarqube规则-苏州华克斯信息是苏州华克斯信息科技有限公司今年新升级推出的,以上图片仅供参考,请您拨打本页面或图片上的联系电话,索取联系人:华克斯。