SonarQube升级更新说明

蓝图技术网 2023-02-23 17:56:52 1.12 K阅读 0评论

本文介绍了SonarQube版本更新升级的方法。包括SonarQube升级指南和9.9版本更新说明。

9.9 版升级说明
数据库支持已更新
SonarQube不再支持Oracle版本12C和18C。
现在支持 Oracle 版本 21C。
现在支持 SQL Server 2022。
SonarQube 服务器需要 Java 17
Java 17 需要 SonarQube 服务器。不再支持使用 Java 11。
SonarScanner for .NET 兼容性
在SonarQube中对C#/VB.NET 进行增量分析需要SonarScanner for .NET 5.11+。
社区版、开发者版和企业版的单一Helm图表
sonarqube lts Helm图表不再维护,无法用于安装sonarqube 9.9 lts。要安装Community、Developer或Enterprise Edition,请使用sonarqube Helm图表。数据中心版随sonarqube dce Helm图表提供。
已更新 Docker 映像
如果你使用自签名的证书,你可能需要调整你的Docker配置:Java的安装路径已经改变为
/opt/java/openjdk/
废弃的和变量已被删除
最新的配置变量请参见环境变量。 
SONARQUBE_JDBC_USERNAMESONARQUBE_JDBC_PASSWORDSONARQUBE_JDBC_URL
Docker镜像上的标签被替换成新的LTS版本。如果你想避免任何自动的重大升级,我们建议使用相应的标签来代替.lts9.9-lts-。
SonarQube升级指南
迁移路径
跨多个非 LTS 版本的升级会自动处理。但是,如果迁移路径中有一个或多个 LTS 版本,则必须先迁移到每个中间 LTS,然后再迁移到目标版本,如下面的示例 3 所示。
升级到 LTS 版本时,应直接升级到其最新修补程序。这使您可以确保使用该补丁一切运行良好(请参阅下面的升级练习部分)。
您可以直接从最新的 LTS 版本升级到最新的非 LTS 版本。请参阅下面的示例 4。
如果要从 LTS 的早期修补程序版本迁移,则可以直接升级到下一个 LTS。您无需安装任何中间修补程序版本。
迁移路径示例:
示例 1 – 从 8.1 > 9.8,迁移路径为 8.1 > 8.9 LTS > 9.8 
示例 2 – 从 9.6 > 9.9 LTS,迁移路径为 9.6 > 9.9 LTS 
示例 3 – 从 7.9 LTS > 9.9 LTS,迁移路径为 7.9 LTS > 8.9 LTS > 9.9 LTS
示例 4 – 从 8.9LTS > 9.9 LTS,迁移路径为 8.9 LTS > 9.9 LTS

升级指南
这是跨 SonarQube 版本升级的通用指南。仔细阅读目标版本和任何中间版本的发行升级说明。
在升级之前,我们建议在尽可能与生产环境相似的过渡环境中练习升级。有关此概念和其他重要升级概念的详细信息,请通读升级之前页面。
在升级之前,请备份您的SonarQube数据库。升级问题很少见,但如果发生任何事情,您将需要备份。
数据库磁盘使用建议
在升级过程中,可能会复制表以加快迁移过程。这可能会导致数据库磁盘使用量暂时增加到正常使用量的两倍。因此,我们建议在开始迁移之前将数据库磁盘使用率保持在 50% 以下。
升级说明
您可以使用 ZIP 文件、Docker 镜像或 Helm Chart 升级 SonarQube 实例。
如果您的升级需要重新构建 Elasticsearch 索引,您的项目和应用程序将在重新索引时可用。在所有项目都编制索引之前,项目组合将不可用。
从 ZIP 文件升级
下载并将您的版本的SonarQube发行版解压缩到一个新目录中,假设
如果您使用的是第三方插件,请手动安装与您的 SonarQube 版本兼容的插件。使用插件版本矩阵来确保您安装的版本与您的服务器版本兼容。不建议简单地将插件从旧服务器复制到新服务器;不兼容或重复的插件可能会导致启动错误。默认情况下,无需插件即可分析您的版本提供的所有语言。
使用目录中的设置(Web 服务器 URL、数据库、LDAP 设置等)更新文件 (in ) 的内容。不要复制粘贴旧文件。如果您使用的是 Oracle DB,请将其 JDBC 驱动程序复制到sonar.properties /conf  /conf /extensions/jdbc-driver/oracle
停止旧的SonarQube服务器
启动您的新 SonarQube 服务器
浏览并按照设置说明进行操作 http://yourSonarQubeServerURL/setup
重新分析您的项目以获取最新数据
从 Docker 映像升级
如果使用 Oracle 数据库升级或使用插件,则可以重复使用以前版本的扩展卷,以避免移动插件或驱动程序。使用插件版本矩阵来确保您的插件与您的版本兼容。默认情况下,无需插件即可分析您的版本提供的所有语言。
要使用 Docker 镜像升级 SonarQube,请执行以下操作:
1. 停止并删除现有的 SonarQube 容器(从 UI 重新启动是不够的,因为环境变量仅在第一次运行期间计算,而不是在重新启动期间):
$ docker stop $ docker rm
2. 运行Docker
$> docker run -d –name sonarqube \ -p 9000:9000 \ -e SONAR_JDBC_URL=… \ -e SONAR_JDBC_USERNAME=… \ -e SONAR_JDBC_PASSWORD=… \ -v sonarqube_data:/opt/sonarqube/data \ -v sonarqube_extensions:/opt/sonarqube/extensions \ -v sonarqube_logs:/opt/sonarqube/logs \
3. 转到并按照设置说明进行操作。http://yourSonarQubeServerURL/setup
4. 重新分析您的项目以获取最新数据。
从 8.9.x LTS 到 9.9.x LTS
请注意,Docker 镜像上的标签会替换为每个新的 LTS 版本。如果要避免自动主要升级,我们建议使用相应的标记,而不是依赖标记。lts9.9-lts-
除非您打算在运行映像时删除数据库并重新开始,否则请注意不要使用 and ,在运行 or 等命令时要小心;无论您是否使用参数,您的数据库卷都不会在 SonarQube 的初始启动和关闭之后持续存在。-v docker-compose downdocker system prunedocker volume pruneexternal: true
恢复到以前的版本
如果您需要恢复到以前版本的 SonarQube,则所有部署的高级回滚过程如下所示:
关闭您的 SonarQube 实例或集群。
将数据库回滚到开始升级之前创建的备份。
切换回以前版本的 SonarQube 安装。
启动您的 SonarQube 实例或集群。
更改您的版本
您可以在升级版本时移动到其他 SonarQube 版本(例如,从社区版移动到商业版)。只需使用上述升级说明中的相应版本文件或 Docker 映像标记即可。
如果您想在不升级 SonarQube 版本的情况下迁移到其他版本,则步骤与上述升级说明中的步骤完全相同,而无需导航到或重新分析您的项目。http://yourSonarQubeServerURL/setup
从 ZIP 文件实例迁移到 Docker 实例
要从 ZIP 文件迁移到 Docker,请执行以下操作:
将 Docker 实例配置为指向现有数据库。
关闭您的 ZIP 实例。
启动您的 Docker 实例。
其他步骤和信息
Oracle清理
从版本 6.6 开始,如果您使用的是 Oracle,则可能需要执行一个额外的步骤。在 Oracle 上,要删除的数据库列现在标记为未使用,并且不再物理删除。要回收磁盘空间,Oracle 管理员必须手动删除这些未使用的列。SQL 请求是 。系统表中列出了相关表。ALTER TABLE foo DROP UNUSED COLUMNSall_unused_col_tabs
其他数据库维护
完成技术升级后,您应该刷新数据库的统计信息并重建数据库的索引,然后再启动 SonarQube 并重新分析您的项目。
对于PostgreSQL,这意味着执行.根据PostgreSQL文档:VACUUM FULL
In normal PostgreSQL operation, tuples that are deleted or obsoleted by an update are not physically removed from their table; they remain present until a VACUUM is done.
Scanner更新
升级SonarQube时,您还应该确保使用的是最新版本的SonarQube Scanner
,以利用扫描仪端的功能和修复。
SonarQube 作为 Linux 或 Windows 服务
如果使用外部配置(如脚本或 Windows 服务)来控制服务器,则需要将其更新为指向 。
对于 Linux,这取决于您如何实现服务
对于 Windows,您可以通过运行以下命令来更新服务:
> sc delete SonarQube
> $NEW_SONARQUBE_HOME\bin\windows-x86-64\SonarService.bat install
重建索引
如果您的升级需要重新构建 Elasticsearch 索引,您的项目和应用程序将在重新编制索引时可用。在所有项目都编制索引之前,项目组合将不可用。
相关内容:

SonarQube 9.9 LTS – 规模、安全性、速度:有史以来最好的

关于苏州华克斯信息科技有限公司

专业的测试及安全产品服务提供商

Fortify | Webinspect | AppScan | SonarQube | 极狐GitLab 

LoadRunner | UFT(QTP) | ALM(QC)

 Micro Focus 铂金合作伙伴 | SonarQube中国总代理 

极狐GitLab铂金级合伙伴  | HCL中国合作伙伴

版权申明:我们采用的作品包括内容和图片全部来源于网络用户和读者投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除!

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,1118人围观)

还没有评论,来说两句吧...