溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統如何安裝SonarQube

發布時間:2022-01-24 10:37:56 來源:億速云 閱讀:287 作者:小新 欄目:開發技術
# Linux系統如何安裝SonarQube

## 一、SonarQube簡介

SonarQube是一個開源的代碼質量管理平臺,用于持續分析和測量代碼質量。它支持多種編程語言,能夠檢測代碼中的錯誤、漏洞、代碼異味以及重復代碼等問題。通過SonarQube,開發團隊可以更好地維護代碼質量,提高軟件的可靠性和可維護性。

### 主要功能
- 代碼質量分析
- 靜態代碼分析
- 技術債務管理
- 多語言支持(Java, C#, JavaScript, Python等)
- 與CI/CD工具集成

## 二、安裝前準備

在開始安裝SonarQube之前,需要確保系統滿足以下要求:

### 1. 系統要求
- **操作系統**:Linux(本文以Ubuntu 20.04為例)
- **Java**:Oracle JRE 11或OpenJDK 11
- **數據庫**:PostgreSQL 9.6+、MySQL 5.6+或Oracle(推薦PostgreSQL)
- **內存**:至少4GB RAM
- **磁盤空間**:至少2GB可用空間

### 2. 安裝依賴
確保系統已安裝必要的依賴工具:

```bash
sudo apt update
sudo apt install -y wget unzip

3. 安裝Java

SonarQube需要Java 11運行環境:

sudo apt install -y openjdk-11-jdk

驗證Java版本:

java -version

三、安裝PostgreSQL數據庫

SonarQube支持多種數據庫,這里以PostgreSQL為例:

1. 安裝PostgreSQL

sudo apt install -y postgresql postgresql-contrib

啟動PostgreSQL服務:

sudo systemctl start postgresql
sudo systemctl enable postgresql

2. 創建數據庫和用戶

切換到postgres用戶:

sudo -i -u postgres

創建SonarQube數據庫和用戶:

createuser sonarqube
psql -c "ALTER USER sonarqube WITH PASSWORD 'sonarqube';"
createdb -O sonarqube sonarqube
exit

3. 配置PostgreSQL

編輯PostgreSQL配置文件:

sudo nano /etc/postgresql/12/main/postgresql.conf

修改以下參數:

shared_buffers = 256MB
work_mem = 4MB

編輯pg_hba.conf文件:

sudo nano /etc/postgresql/12/main/pg_hba.conf

添加以下內容:

local   sonarqube         sonarqube                           md5

重啟PostgreSQL服務:

sudo systemctl restart postgresql

四、安裝SonarQube

1. 下載SonarQube

訪問SonarQube官網獲取最新版本下載鏈接,或直接使用wget下載:

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

解壓文件:

unzip sonarqube-9.4.0.54424.zip -d /opt
sudo mv /opt/sonarqube-9.4.0.54424 /opt/sonarqube

2. 創建SonarQube用戶

出于安全考慮,不建議使用root用戶運行SonarQube:

sudo groupadd sonarqube
sudo useradd -d /opt/sonarqube -g sonarqube sonarqube
sudo chown -R sonarqube:sonarqube /opt/sonarqube

3. 配置SonarQube

編輯SonarQube配置文件:

sudo nano /opt/sonarqube/conf/sonar.properties

修改以下配置:

sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

sonar.web.host=0.0.0.0
sonar.web.port=9000

4. 配置系統限制

編輯系統限制文件:

sudo nano /etc/security/limits.conf

添加以下內容:

sonarqube   -   nofile   65536
sonarqube   -   nproc    4096

5. 配置內核參數

編輯sysctl.conf文件:

sudo nano /etc/sysctl.conf

添加以下內容:

vm.max_map_count=262144
fs.file-max=65536

應用更改:

sudo sysctl -p

五、配置SonarQube服務

1. 創建Systemd服務

創建服務文件:

sudo nano /etc/systemd/system/sonarqube.service

添加以下內容:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=simple
User=sonarqube
Group=sonarqube
PermissionsStartOnly=true
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
LimitNOFILE=65536
LimitNPROC=4096

[Install]
WantedBy=multi-user.target

2. 啟動SonarQube服務

重新加載systemd配置:

sudo systemctl daemon-reload

啟動SonarQube服務:

sudo systemctl start sonarqube
sudo systemctl enable sonarqube

檢查服務狀態:

sudo systemctl status sonarqube

六、訪問SonarQube

1. 防火墻配置

如果系統啟用了防火墻,需要開放9000端口:

sudo ufw allow 9000/tcp
sudo ufw reload

2. 訪問Web界面

在瀏覽器中訪問:

http://<服務器IP>:9000

默認管理員憑據: - 用戶名:admin - 密碼:admin

首次登錄后會提示修改密碼。

七、基本配置與使用

1. 安裝中文插件

  1. 登錄后點擊右上角”Administration”
  2. 選擇”Marketplace”
  3. 搜索”Chinese Pack”
  4. 點擊”Install”
  5. 重啟SonarQube服務

2. 創建項目

  1. 點擊”Create new project”
  2. 輸入項目名稱和標識符
  3. 選擇分析方式(推薦使用令牌)
  4. 根據提示下載掃描器并執行掃描

3. 配置掃描器

以Java項目為例,安裝SonarScanner:

wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.7.0.2747-linux.zip
unzip sonar-scanner-cli-4.7.0.2747-linux.zip -d /opt
sudo mv /opt/sonar-scanner-4.7.0.2747-linux /opt/sonar-scanner

配置環境變量:

sudo nano /etc/profile.d/sonar-scanner.sh

添加:

export PATH=$PATH:/opt/sonar-scanner/bin

執行掃描:

sonar-scanner \
  -Dsonar.projectKey=my-project \
  -Dsonar.sources=. \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.login=your_token

八、常見問題解決

1. Elasticsearch啟動失敗

錯誤現象:SonarQube啟動失敗,日志顯示Elasticsearch相關問題

解決方案: - 確保系統配置了足夠的虛擬內存 - 檢查/opt/sonarqube/elasticsearch/config/jvm.options中的內存設置

2. 數據庫連接問題

錯誤現象:無法連接到PostgreSQL

解決方案: - 檢查PostgreSQL服務是否運行 - 驗證數據庫用戶名和密碼是否正確 - 檢查pg_hba.conf配置

3. 文件權限問題

錯誤現象:啟動時提示權限不足

解決方案: - 確保/opt/sonarqube目錄及其子目錄屬于sonarqube用戶 - 檢查系統限制配置是否正確

九、總結

本文詳細介紹了在Linux系統上安裝和配置SonarQube的完整過程,包括: 1. 安裝前的準備工作 2. PostgreSQL數據庫的安裝與配置 3. SonarQube的安裝與配置 4. 系統服務的設置 5. 基本的Web界面訪問與使用 6. 常見問題的解決方法

通過SonarQube,開發團隊可以實現代碼質量的持續監控和改進,提高軟件開發的整體質量。建議定期更新SonarQube版本以獲取最新功能和安全補丁。 “`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女