
【資料圖】
本文介紹了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時,您還應該確保使用的是最新版本的SonarQubeScanner ,以利用掃描儀端的功能和修復。 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中國合作伙伴