CentOS7安裝配置SonarQube


一、SonarQubeServer

1、前提

安裝好mysql5.7和jdk1.8。

(1)安裝Mysql

create user 'sonar'@'localhost' identified by 'sonar';

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

grant all privileges on sonar.* to 'sonar'@'localhost';

mysql -uroot -p123456

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 

CREATE USER 'sonar' IDENTIFIED BY 'sonar123'; 

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

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

FLUSH PRIVILEGES;

 

#mysql設置:一旦所有的SonarQube表都使用了InnoDB引擎,首先要做的就是使用innodb_buffer_pool_size參數為你的MySQL實例分配最大數量的RAM,並給參數至少15Mb query_cache_size

 

#檢查mysql引擎,確保為InnoDB

show engines;

 

 #查看緩存開啟狀況

SHOW STATUS LIKE 'qcache%'; 

show variables like '%query_cache%'; 

 

#設置緩存

vi /etc/my.cnf

[mysqld]

character_set_server=utf8

query_cache_type=1

query_cache_size=32M

 

#重啟

service mysqld restart

 

2安裝JDK8

2 進入到目錄 /usr/local/ 中:  

cd /usr/local/

3 創建目錄 tools:   

mkdir -p tools

4 進入到目錄 /usr/local/tools 中:  

cd tools/

5 下載 jdk-8u91-linux-x64.tar.gz

wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz?AuthParam=1521514537_5997ca9bc07655e6b192a38bc9d18532

6 壓縮 jdk-8u161-linux-x64.tar.gz 文件:

tar -zxvf jdk-8u161-linux-x64.tar.gz

7 返回到上一級並創建 /usr/local/jdk 目錄:  

cd ..  

mkdir -p jdk

8 進入到 tools 目錄后將 jdk1.8.0_91 移動到 jdk 目錄中:  cd tools  mv jdk1.8.0_161/ ../jdk/

9 打開 /etc/ 目錄下的 profile 文件:  

vim /etc/profile  

將如下代碼追加到 profile 文件末尾:  

# idea - jdk8 settings start 2016-05-01

JAVA_HOME=/usr/local/jdk/jdk1.8.0_161

JRE_HOME=$JAVA_HOME/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar

export JAVA_HOME JRE_HOME PATH CLASSPATH

# idea - jdk8 settings end - 2016-05-01  

按 Esc 鍵、輸入 wq! 回車,保持並退出。

10 即可啟用新的配置:  source /etc/profile

11 輸入 java -version 查看 JDK 的版本:  

[root@iZ94hws2fzlZ jdk1.8.0_91]# java -version

 java version "1.8.0_91"  

Java(TM) SE Runtime Environment (build 1.8.0_91-b14)  

Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

2、下載與准備

1)環境准備

系統參數需要滿足下述要求

  • sonarqube一定不能在root帳戶下運行
  • vm.max_map_count 大於或等於 262144
  • fs.file-max 大於或等於 65536
  • 運行SonarQube的用戶至少可以打開 65536個 文件描述符
  • 運行SonarQube的用戶可以打開至少2048個線程
  • seccomp已被編譯 進內核

根據需要執行下述命令以使內核參數符合sonar安裝需求

#可以使用以下命令查看這些值:

sysctl vm.max_map_count

sysctl fs.file-max

ulimit -n

#可以通過以root身份運行以下命令來為當前會話動態設置它們:

sysctl -w vm.max_map_count=262144

sysctl -w fs.file-max=65536

ulimit -n 65536

#為了更永久設置這些值,則必須修改/etc/sysctl.d/99-sonarqube.conf(或/etc/sysctl.conf文件)#文件末尾添加下述兩行

vi /etc/sysctl.conf

    vm.max_map_count=262144

fs.file-max=65536

 

#在/etc/profile文件末尾添加ulimit -n 65536

vi /etc/profile

    ulimit -n 65536#保存后運行#source /etc/profile 使其生效

source /etc/profile

 

2下載

[root@node3 ~]# wget  https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.2.zip

3解壓

[root@node3 ~]# unzip sonarqube-6.7.2.zip -d /opt/

4增加用戶sonar

[root@node3 ~]# useradd sonar

[root@node3 ~]# chown -R sonar /opt/sonarqube-6.7.2/

3、編輯sonarqube配置文件

  sonarqube-6.7]# vim conf/sonar.properties

12

13

    保存,退出;

 

4、運行腳本啟動服務

 

sonarqube-6.7]# su sonar ./bin/linux-x86-64/sonar.sh start   //以普通用戶起服務不然es啟動會報錯,用法:console、start、status、stop...

   sonarqube-6.7]# su sonar ./bin/linux-x86-64/sonar.sh status  

    注意:這里立即查看狀態,短時間內意義不大,因為一開始顯示running,並不代表會一定在后面的時間內running!

       也就是說,在啟動徹底完成前不可信!什么叫啟動"徹底完成"? 見下面:  

16

 

   再次確認:

 

17

   至此,SonarQube啟動成功!

排錯說明:可以先跟着sonar.log日志,如果報了es錯誤,可以去查看es.log;如果報了web錯誤,那么就是查看web.log。

     都可以在日志里有跡可尋。(es.log,web.log跟sonar.log在同一個目錄下)

5、登錄web端

 在瀏覽器輸入:http:// IP:PORT

初始用戶:admin

初始密碼:admin

    登錄后,可以點擊自己賬戶修改密碼。

 

6、漢化

#添加漢化插件 

#從https://docs.sonarqube.org/display/PLUG/Plugin+Library下載漢化插件移動至指定目錄即可 

sonar-l10n-zh-plugin-1.19.jar 

放在/sonarqube-6.7.2/extensions/plugins 目錄中

#重啟sonar 

cd /opt/sonarqube-6.7.2/bin/linux-x86-64/

./sonar.sh restart

 

二、SonarQubeScanner

1、下載

sonar-scanner-3.0.3.778-linux.zip

2、解壓

沒有unzip的話,先安裝unzip

yum install -y unzip

unzip sonar-scanner-3.0.3.778-linux.zip

 

3、修改配置文件

sonar-scanner-3.0.3.778-linux/conf/sonar-scanner.properties

#----- Default SonarQube server

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

 

#----- Default source code encoding

sonar.sourceEncoding=UTF-8

4、設置環境變量

/etc/profile文件末尾加入下面三句:

SONARSCANNER_HOME=/home/sonar-scanner-3.0.3.778-linux/bin PATH=$PATH:$SONARSCANNER_HOME

export SONARSCANNER_HOME PATH

啟用新的配置:

source /etc/profile

 

5、檢查sonar-scanner安裝是否成功

檢查sonarscanner是否配置成功:

sonar-scanner -h

出現如下信息表示安裝配置成功:

sh-4.2# sonar-scanner -h

INFO:

INFO: usage: sonar-scanner [options]

INFO:

INFO: Options:

INFO:  -D,--define <arg>     Define property

INFO:  -h,--help             Display help information

INFO:  -v,--version          Display version information

INFO:  -X,--debug            Produce execution debug output

 

6、項目配置文件sonar-project.properties

sonar-project.properties放在項目根目錄中:

sonar.projectKey=icloud3.12

sonar.projectName=icloud3.12

sonar.projectVersion=3.12

sonar.sourceEncoding=UTF-8

sonar.language=java

sonar.scm.disabled=true

sonar.modules=dispatch-service,dispatch-client

dispatch-service.sonar.modules=dispatch-cfgmanager,dispatch-taskmanager,dispatch-usermanager

dispatch-service.dispatch-cfgmanager.sonar.projectName=icloudcfgserver

dispatch-service.dispatch-cfgmanager.sonar.sources=.

dispatch-service.dispatch-cfgmanager.sonar.java.binaries=target/classes

dispatch-service.dispatch-taskmanager.sonar.projectName=icloudtaskserver

dispatch-service.dispatch-taskmanager.sonar.sources=.

dispatch-service.dispatch-taskmanager.sonar.java.binaries=target/classes

dispatch-service.dispatch-usermanager.sonar.projectName=iclouduserserver

dispatch-service.dispatch-usermanager.sonar.sources=.

dispatch-service.dispatch-usermanager.sonar.java.binaries=target/classes

dispatch-client.sonar.projectName=icloudwebserver

dispatch-client.sonar.sources=.

dispatch-client.sonar.language=js

 

7、執行sonar-scanner

 

在項目根目錄中執行

sonar-scanner


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM