天天看點

sonarqube7 linux使用,Centos7下安裝和配置SonarQube7.7

IDEA中的代碼規範檢查很好用,但是不能檢測代碼的品質,所幸有了SonarQube,我們可以送出代碼到git上進行代碼品質檢測

為了體驗SonarQube,我們先來在Centos7上安裝SonarQube運作環境,首先準備sonarQube的安裝包,不友善下載下傳的可以使用百度雲提供的安裝包

提取碼:evd1

準備支援環境

SonarQube需要Java環境支援,是以我們必須先安裝java環境

## 檢視有沒有安裝java環境

java -version

## 如果已經安裝的跳過此步驟,如果沒有安裝java的話,centos7中提供yum安裝

yum install java

## 檢視java的版本(必須是1.8版本的,sonarqube内部的elasticsearch需要jdk1.8支援)

java -version

建立資料庫

提供Mysql資料庫,不在本機也無所謂,sonarQube初次運作時需要在資料庫中初始化一些表來存儲一些資料,隻需要建立資料庫即可,sonar自動會為我們建立表

## 建立sonar資料庫,字元集是UTF-8

create database sonar character utf8 collate utf8_general_ci;

安裝sonarqube

## 解壓sonarqube7.7

cd /usr/local/

unzip sonarqube-7.7.zip

cd sonarqube-7.7/

ll

檢視檔案如下:

sonarqube7 linux使用,Centos7下安裝和配置SonarQube7.7

image

其中bin檔案下是不同的操作檔案,conf檔案下是配置檔案,elasticsearch下是es的相關的配置檔案,logs是日志檔案

我們需要首先設定sonar的配置檔案,添加如下的配置消息:

## 修改sonar的配置檔案

vi /usr/local/sonarqube-7.7/conf/sonar.properties

添加如下的資訊

sonar.host.url=http://localhost:9090

sonar.jdbc.username=資料庫使用者名

sonar.jdbc.password=資料庫密碼

sonar.jdbc.url=jdbc:mysql://資料庫IP:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.web.host=0.0.0.0

## 配置web通路的路徑 這裡必須要有 / 字首

sonar.web.context=/sonar

## web容器的端口号

sonar.web.port=9090

以上配置就完成了

配置elasticsearch啟動的準備工作

sonarqube内部內建了elasticsearch,而elasticsearch是不能使用root使用者啟動的,必須是使用普通使用者來啟動,是以我們先建立普通使用者,并且授權

## 建立普通使用者

useradd sonarqube

passwd sonarqube

## 給普通使用者授sonarqube-7.7的權限

chmod -R 777 /usr/local/sonarqube-7.7

接下來,我們來修改系統相關的配置,以滿足elasticsearch啟動的需求,如果已經滿足了就可以跳過此步驟

elasticsearch需要配置系統相關的參數:具體可以參考官方的文檔:

具體操作簡化如下:

## 1.max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

## 修改/etc/security/limits.conf檔案,添加或修改如下行:

* hard nofile 65536

* soft nofile 65536

## 2.max virtual memory areas vm.max......

## 修改 /etc/sysctl.conf 檔案,添加如下行:

vm.max_map_count=262144

## 修改好了以後,調用sysctl -a檢視,發現參數并沒有變動,要重新開機才可以。

limits.conf 不需要重新開機,但是sysctl.conf則需要重新開機伺服器讓參數生效,如果伺服器不友善重新開機,也可以通過指令來臨時設定變量,隻是臨時的,伺服器重新開機的話,之前的設定就不會生效了

## 指令設定 vm.max_map_count 參數

sudo sysctl -w vm.max_map_count=262144

啟動sonarqube

至此我們已經全部配置好sonar啟動的環境和配置參數,我們來啟動sonarqube

## 使用普通使用者

su - sonarqube

## 啟動sonarqube

cd /usr/local/sonarqube-7.7/bin/linux-x86-64/

./sonar.sh start

## 檢視sonar狀态

./sonar.sh status

初次啟動,需要到資料庫中初始化表和資料,是以比較慢,可以随時檢視sonar的狀态

啟動失敗日志定位問題

如果啟動失敗,依次檢視 sonar.log --> es.log --> web.log 日志檔案來定位問題

通路web頁面

打開浏覽器,通路 http://SONAR安裝的伺服器IP:9090/sonar 就可以通路