SonarQube总代理商-华克斯

2023-10-18 144浏览
摘要:<p>AnsibleSonarQube升级的角色 </p><p>你可能知道,并希望使用SonarQube。这是一个伟大的工具,是积极的发展和改善。这是伟大的,如果你是一个开发使用SonarQube。但是,如果您碰巧管理SonarQube实例,则由于升级指南由11步骤组成,因此不断升级非常麻烦。 </p><p>停止旧的SonarQube服务器 </p><p>下载并解压新的SonarQube分布在一个

AnsibleSonarQube升级的角色

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

停止旧的SonarQube服务器

下载并解压新的SonarQube分布在一个新鲜的目录,SonarQube技术支持,让我们说NEW_SONARQUBE_HOME

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

手动安装任何自定义插件

停止新服务器

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

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

备份数据库

删除数据/es目录

启动新的web服务器

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

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

初始设置

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

用于测试的泊坞窗

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

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

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

当前脚本的路径

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

#命令测试剧本

TEST_COMMAND='cd/行动amp;amp;amp;amp;ansible-剧本$@

-我'本地主机'-c

升级-声纳database.yml'

#运行容器安装行动为卷

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

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

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

Ansible角色

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

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

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

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

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

确保SonarQube服务存在

停止SonarQube

下载新版本

备份数据库

下载和安装插件

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

确保删除数据/es

重新SonarQube服务启动新版本

开始SonarQube

手动步骤

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

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

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

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

将SonarQube指标集成到TFS构建中-简介

2014年7月31日/ANDYBDEV

我一直在努力将SonarQube整合到我们每周运行的TFS中。如果你不知道SonarQube是否检查出来。它是一个很好的方法来集中有关您的代码的信息,这有助于捕获和跟踪关注KPI的人的指标(如果我们必须让他们至少对他们的代码质量有积*的作用),同时给那些“它是一个中心的地方,可以看到他们可以改进的代码质量等问题。

以前,我们从TFS开发了一个单独的Jenkins构建阅读源,但是我们希望摆脱这个额外的构建,并且只需在TFS中执行一次-似乎有点浪费和耗时地整理Jenkins以及TFS。事实证明,我已经有了很好的时机(在写作的时候),SonarQube总代理商,近才有声纳可以处理微软测试结果和覆盖文件的上传(分别为.trx和.coverage)-http://docs.codehaus.ORG/显示/SONAR/C%23插件。

方法-使用标准的TFSBuild工具包

不幸的是,将SonarQube集成到TFS构建中并不是直接的过程。那里已经有可以为您进行扫描和上传方面的定制活动(http://www.vlaquest.com/2013/10/sonar-build-activity-for-tfs-updated/)。我不太喜欢自定义程序集,因为您需要创建一个项目来管理模板,并提供大量引用来删除所有的警告和错误,并且实际上允许您配置导入的活动,从那时起就成为一个需要从项目中编辑你的模板-我知道..它没有什么大不了的,但我宁愿把它作为一个简单的可编辑工作流程。然后,您需要将程序集提供给构建控制器,我希望避免需要这样做-加上我曾经遇到过这样的问题,以便与过去的托管TeamFoundationService一起工作,这在历史的上使我无法避免。

考虑到这些要点,我已经采取了一种方法,这意味着大多数工作可以使用标准活动在构建模板中完成,其余的工作可以在几个可以坐在源中的批处理文件中完成。

我会引导你完成这个过程。

SonarSource简介

在它们存在之前修复代码质量问题!IDESonarLint即时视图

打开文件时,标记会自动出现在质量问题上。SonarLint突出显示了打开文件上的标记的代码问题。它还为IDE中的选定组件提供问题汇总表,包括问题的创建时间。即时视图关于飞检飞检测

在键入代码时出现问题。SonarLint提供了在代码中查看问题的能力,如文本的拼写检查器。这是通过巧妙地指出问题而不分散开发人员的注意力来完成的,这样他就可以专注于代码,但仍然会收到问题的通知。智能教育

错误描述与问题检测一起出现。一旦SonarLint检测到一个问题,它还会显示相关的文档,SonarQube,以帮助开发人员了解问题以及为什么它是一个问题。它提供了一个兼容的和不兼容的代码示例,并演示如何解决示例问题。简单,强大和有趣的使用:一个很好的方式让***学习。

SonarQube总代理商-华克斯-SonarQube由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司位于苏州工业园区新平街388号。在市场经济的浪潮中拼博和发展,目前华克斯在行业软件中享有良好的声誉。华克斯取得商盟认证,标志着我们的服务和管理水平达到了一个新的高度。华克斯全体员工愿与各界有识之士共同发展,共创美好未来。

免责声明 以上信息仅作为转载信息展示,不代表作者任何观点.转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。