1. 程式人生 > >Sonar6.0基於centos7.2安裝與使用(一)

Sonar6.0基於centos7.2安裝與使用(一)

Sonar是一個用於程式碼質量管理的開源平臺,用於管理原始碼的質量,可以從多個維度檢測程式碼質量

,通過外掛形式,可以支援包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種程式語言的程式碼質量管理與檢測。

    Sonar可以通過多種方式來實現程式碼質量檢查,官方資料顯示Sonar 執行分析的方法有以下幾種方式:

本系列文章重點實現命令列方式(Scanner2.8、Runner2.4)、整合Eclipse實時分析分式、Jenkins+Maven對程式碼資源庫分析方式。

一、安裝 版本及下載地址 
Sonarqube版本:6.0

sonar-runner版本:sonar-runner-dist-2.4

漢化包版本:sonar-l10n-zh-plugin-1.8.jar

資料庫版本:MySQL-5.6.32

作業系統版本:Centos7.2-最小化安裝

JDK版本:JDK1.8.0_102 64位

二、下載各軟體

cd /usr/local/src

三、安裝軟體

1、Mysql5.6.23安裝

tar xvf MySQL-5.6.32-1.linux_glibc2.5.x86_64.rpm-bundle.tar

yum remove -y mariadb-libs-5.5.50-1.el7_2.x86_64    #刪除衝突包

yum -y install autoconf   #安裝依賴包

yum -y install MySQL-server-5.6.32-1.linux_glibc2.5.x86_64.rpm  #安裝服務端

yum -y install MySQL-client-5.6.32-1.linux_glibc2.5.x86_64.rpm    #安裝客戶端

MySQL的預設安裝位置

/var/lib/mysql                  #資料庫目錄 datadir

/usr/share/mysql              #配置檔案目錄

/usr                                     #相關命令目錄 basadir

/etc/init.d/mysql              #啟動指令碼

在安裝時已經建立了預設使用者mysql,並對預設目錄進行了訪問授權。

  • 修改啟動配件檔案

vim /etc/init.d/mysql

找到並修改如下:

basedir='/usr'
datadir='/var/lib/mysql'

  • 修改配置檔案

cp /usr/share/mysql/my-default.cnf  /etc/my.cnf

vim /etc/my.cnf 

找到並如下修改

basedir = /usr
datadir = /var/lib/mysql
port = 3306
# server_id = .....
socket = /var/lib/mysql/mysql.sock

  • 資料庫初始化

mysql_install_db --user=mysql         #生成新的MySQL授權表,並且只能在mysql服務停止的情況下執行

在提示檔案中看到兩個“OK”後才表示成功

  • 啟動Mysql

systemctl daemon-reload        #啟動守護程序

systemctl start mysql.service

systemctl enable mysql.service

  • 登陸測試下Mysql安裝成功

mysql –uroot

show databases;

exit

  • 給mysql中預設無密碼管理賬號root設定密碼,並登陸

mysqladmin -uroot password 'll1qaz369*'

mysql -uroot -pll1qaz369*

  • 為sonar建立資料庫及使用者賬號密碼

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE USER 'sonar' IDENTIFIED BY 'sonar';

GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';

GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

FLUSH PRIVILEGES;

2、安裝JDK1.8.0_102

cd /usr/local/src

yum –y install jdk-8u102-linux-x64.rpm

  • 根據安裝目錄修改配置檔案:

vim /etc/profile

  •   在末尾輸入以下內容:

JAVA_HOME=/usr/java/jdk1.8.0_102/    
JAVA_BIN=/usr/java/jdk1.8.0_102/bin    
JRE_HOME=/usr/java/jdk1.8.0_102/jre    
PATH=$PATH:/usr/java/jdk1.8.0_102/bin:/usr/java/jdk1.8.0_102/jre/bin    
CLASSPATH=/usr/java/jdk1.8.0_102/jre/lib:/usr/java/jdk1.8.0_102/lib:/usr/java/jdk1.8.0_102/jre/lib/charsets.zip    
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH   

  • 儲存檔案後,使其生效:   

source /etc/profile  

  • 檢測是否設定正確: 

java –version

  • 如果顯示如下內容,則配置正確:  

java version "1.8.0_102"    
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)    
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

3、安裝配置Sonarqube6.0

yum –y install unzip

unzip sonarqube-6.0.zip

  • 配置Sonarqube6.0

mv sonarqube-6.0 /usr/local/

vim /usr/local/sonarqube-6.0/conf/sonar.properties

找到下面內容並把前面的#號去掉,開啟對mysql5.6的支援(所有用預設,根據實際需求可以自己改配置)

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.web.host=0.0.0.0

sonar.web.context=

sonar.web.port=80

  • 啟動Sonarqube6.0

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

./sonar.sh start   #啟動服務(其它操作: ./sonar.sh stop    停止服務   ./sonar.sh restart 重啟服務

Starting SonarQube...
Started SonarQube.

  • 啟動成功後,第一次訪問網站速度比較慢,在第三方電腦瀏覽器中輸入地址訪問:

image

  • 安裝中文語言包

cd /usr/local/sonarqube-6.0/extensions/plugins/

Sonar自帶的語言規則只有:C#,Java,JavaScript,如果需要其它語言規則可以自己下載到plugins目錄下後再重啟sonar服務就行,

/usr/local/sonarqube-6.0/bin/linux-x86-64/sonar.sh restart

重啟sonar服務後再次登陸地址,已經改成中文版了,所有規則已經就緒。

image

  • 配置為自啟動

vim /etc/init.d/sonar

新建檔案並增加如下內容:

#!/bin/sh
#
# rc file for SonarQube
#
# chkconfig: 345 96 10
# description: SonarQube system (www.sonarsource.org)
#
### BEGIN INIT INFO
# Provides: sonar
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: SonarQube system (www.sonarsource.org)
# Description: SonarQube system (www.sonarsource.org)
### END INIT INFO

/usr/bin/sonar $*

  • 新增啟動服務

ln -s /usr/local/sonarqube-6.0/bin/linux-x86-64/sonar.sh  /usr/bin/sonar

chkconfig sonar on

chkconfig start

4、安裝sonar-runner-dist-2.4

cd /usr/local/src/

unzip sonar-runner-dist-2.4.zip

mv sonar-runner-2.4/ /usr/local/

  • 配置PATH路徑

vim /etc/profile

在檔案最後加入如下內容,儲存並退出。

PATH=$PATH:/usr/local/sonar-runner-2.4/bin
export PATH

  • 配置sonar啟動配置檔案

vim /usr/local/sonar-runner-2.4/conf/sonar-runner.properties

把下面內容前#號去掉或增加後,儲存並退出

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.host.url=http://192.168.1.190
sonar.login=admin
sonar.password=admin