CentOS7 安裝 SonarQube 8

前期準備

安裝需求:
https://docs.sonarqube.org/latest/requirements/requirements/
安裝文檔:
https://docs.sonarqube.org/latest/setup/install-server/

硬件要求:
SonarQube服務器的小規模(單個或小型團隊)實例需要至少2GB的RAM才能高效運行,而操作系統則需要1GB的空閒RAM。如果要爲大型團隊或企業安裝實例,則要求更高的要求。

我在VM上運行,分配的3G的內存空間。

Java:
在這裏插入圖片描述
我安裝的是 JDK 11,安裝請參考:CentOS 7 安裝 jdk11

數據庫:
在這裏插入圖片描述
我用的數據庫是: SQL Server 2014
創建數據庫:SonarQubeDB
排序規則:Chinese_PRC_CS_AS
因爲: 排序規則必須區分大小寫(CS)和區分重音(AS)

在這裏插入圖片描述

READ_COMMITED_SNAPSHOT 必須在SonarQube數據庫上設置。
MS SQL數據庫的共享鎖定策略可能會影響SonarQube運行時。確保將is_read_committed_snapshot_on其設置爲true防止SonarQube在重負載下面臨潛在的死鎖。
查詢示例is_read_committed_snapshot_on:

SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name='SonarQubeDB';

在這裏插入圖片描述

查詢示例更新is_read_committed_snapshot_on:

ALTER DATABASE SonarQubeDB SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;

在這裏插入圖片描述

Linux系統配置:

如果在Linux上運行,則必須確保:
vm.max_map_count大於或等於262144
fs.file-max大於或等於65536
運行sonarqube的用戶至少可以打開65536個文件描述符
運行sonarqube的用戶至少可以打開4096個線程

# vim /etc/sysctl.d/99-sonarqube.conf

加入下面兩行:

vm.max_map_count=262144
fs.file-max=65536
# vim /etc/security/limits.d/99-sonarqube.conf

加入下面兩行:

sonarqube   -   nofile   65536
sonarqube   -   nproc    4096

SonarQube 平臺安裝

下載:
頁面:https://www.sonarqube.org/downloads/
我下載的是Community版本

# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.0.zip

解壓:

# unzip sonarqube-8.0.zip

創建一個空的架構和一個sonarqube用戶。授予此sonarqube用戶權限create,update和delete對象爲這個架構。

創建用戶 sonarqube:

# adduser sonarqube

設置密碼:

# passwd sonarqube

改變屬主:

# chown -R sonarqube:sonarqube sonarqube-8.0
# ll sonarqube-8.0

在這裏插入圖片描述

把文件部署到要部署的位置:

# mkdir /opt/sonarqube
# mv sonarqube-8.0 /opt/sonarqube/

修改配置文件:

# vim /opt/sonarqube/sonarqube-8.0/conf/sonar.properties

根據自己情況添加如下配置:

sonar.jdbc.url=jdbc:sqlserver://192.168.200.203:1433;databaseName=SonarQubeDB
sonar.jdbc.username=sa
sonar.jdbc.password=123456

sonar.web.host=192.168.80.128

sonar.path.data=/opt/sonarqube/sonarqube-8.0/data
sonar.path.temp=/opt/sonarqube/sonarqube-8.0/temp

保存完文件後,切換用戶到 sonarqube 登錄Linux

# su sonarqube

通過控制檯方式運行:

$ /opt/sonarqube/sonarqube-8.0/bin/linux-x86-64/sonar.sh console

如果輸出的最後兩行如下,就說明運行成功了:

jvm 1    | 2019.10.29 01:59:14 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
jvm 1    | 2019.10.29 01:59:14 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up

查看數據庫:
在這裏插入圖片描述

數據庫已經插入了多張表。

訪問:http://192.168.80.128:9000/
要確保防火牆 9000 端口已經打開
在這裏插入圖片描述

管理員賬戶登錄:
用戶名:admin
密碼:admin

安裝中文包:
在這裏插入圖片描述
安裝完成功,它會提示重啓網站,點擊網頁上提示的重啓,等一會兒重啓成功後,自動進入登錄頁面:
在這裏插入圖片描述
用 admin 登錄後,網站已經變成中文的了
在這裏插入圖片描述

再次運行 sonarqube 的時候不用通過 console 啓動了,直接用 start 在後臺運行就好了。
sonarqube 運行參數 console | start | stop | force-stop | restart | status | dump:

$ /opt/sonarqube/sonarqube-8.0/bin/linux-x86-64/sonar.sh
Usage: /opt/sonarqube/sonarqube-8.0/bin/linux-x86-64/sonar.sh { console | start | stop | force-stop | restart | status | dump }

安裝可能遇到的問題:

1.配置信息的拼寫錯誤
2.不小心用 root 啓動會報錯,這時需要切換到 sonarqube 用戶,在切換前要刪除掉 root 在 data,logs 文件夾中創建的 root 權限的文件。否則就算切換到 sonarqube 用戶,還是啓動不了。
其實大部分啓動不了的原因都是權限問題。

安裝 scanner

SonarQube 平臺安裝完成後,就可以安裝 scanner 了,然後纔可以創建項目:
https://docs.sonarqube.org/latest/analysis/overview/
scanner 支持一下安裝:

這裏以 Maven 爲例:
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/

先決條件
Maven的3.x
至少正在使用SonarQube服務器支持的最低Java版本,JDK8
全局設置
編輯 Maven 的 settings.xml文件,添加 profile 節點

<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://192.168.80.128:9000
                </sonar.host.url>
            </properties>
        </profile>
     </profiles>
</settings>

分析

在要分析的Maven項目中運行:

mvn clean verify sonar:sonar

或者分兩步執行:

mvn clean install
mvn sonar:sonar

執行成功後訪問:
http://192.168.80.128:9000/projects
在這裏插入圖片描述
可以看到分析結果,趕緊去修改吧。

祝你成功 ^ _ ^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章