SonarQube和sonar-scanner詳細安裝及配置(二)

 

sonar這個玩應,捅咕了好幾天,太坑了。0.0坑的都無語了,決定寫一篇分享一下經驗,之前也寫了一個,不過那個版本有點低,刪了重寫。

1.環境

系統環境:centos7.0 -x86_64(精簡安裝) 
前置條件:jdk1.8 , mysql-5.7
軟件下載目錄:/usr/local/
軟件安裝目錄:/usr/local/
軟件版本:sonarqube-6.7.5,sonar-runner-dist-2.4 sonar-scanner-3.0.3.778
sonarqube下載地址:http://www.sonarqube.org/downloads/
sonar-runner下載地址:https://link.jianshu.com/?t=http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
sonar-scanner下載掃描器地址:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip

(sonar-runner和sonar-scanner都是掃描器,用哪個都可以。我用的是sonar-scanner)

2.安裝環境

1.需要Mysql數據庫支持;雖然SonarQube自帶了H2數據庫,但是爲了方便管理數據推薦使用Mysql數據庫。
   安裝Mysql數據庫

mysql -u root -p    (進入數據庫)
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar. TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar. TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;

2.安裝SonarQube

    第一步:將下載的sonarqube-6.7.5.zip解壓後移動到/usr/local目錄下

                   unzip  sonarqube-6.7.5.zip  解壓包(如果解壓不了,可能你沒有unzip。通過yum下就可以了)

    第二部:配置環境變量

[root@localhost local]# vim /etc/profile

export SONAR_HOME=/usr/local/sonarqube-6.7.5
export SONAR_SCANNER_HOME=/usr/local/sonar-scanner
PATH=$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin

[root@localhost local]# source /etc/profile

   第三步:配置sonar.properties  (圖片是別的地方的,我用的ssh效果不好。哈哈)

[root@localhost local]# vim sonarqube-6.7.5/conf/sonar.properties 

 

 

#數據庫的賬號密碼,剛纔創建的
sonar.jdbc.username=sonar       
sonar.jdbc.password=sonar
#連接數據庫
sonar.jdbc.url=jdbc:mysql://192.168.6.178:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#驅動程序類名,其實可以不寫的
sonar.jdbc.driverClassName=org.gjt.mm.mysql.Driver
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

#開啓端口
sonar.web.port=9000

3.啓動SonarQube (重點,這塊最tm坑了)

 SonarQube 啓動不能用root啓動,所以新建一個用戶。必須先啓動elasticsearch,才能在啓動sonar。sonar文件目錄裏面有

 elasticsearch這個目錄。(這塊好好看着,我在這坑了兩天。)

//創建esuser用戶
//目錄組和用戶都是esuser
//sonarqube文件設置777
//編寫配置文件
[root@localhost ]# useradd esuser
[root@localhost local]# chown -R esuser.esuser sonarqube-6.7.5
[root@localhost local]#chmod 777 -R sonarqube-6.7.5 
[root@localhost local]# vim sonarqube-6.7.5/elasticsearch/config/elasticsearch.yml 
//開啓端口和指定服務
network.host: 192.168.6.178
http.port: 9200

 

 

[root@localhost sonarqube-6.7]# su esuser          切換用戶
[esuser@localhost elasticsearch]# ./bin/elasticsearch

啓動的時候會報錯,這裏面有報錯的資料。

https://blog.csdn.net/u012448904/article/details/81624037

[esuser@localhost elasticsearch]# ./bin/elasticsearch -d     -d代表後臺運行

netstat   -nultp  查看端口,能看到9200和9300證明就成功了。

訪問:http://192.168.6.178:9200              能給你一個json的文件。

啓動sonar(用esuser啓動的哈)

[esuser@localhost sonarqube-6.7.5]# ./bin/linux-x86-64/sonar.sh start

訪問:http://192.168.6.178:9000/

如果能訪問,先按插件在sonar,要不然沒插件不行。

Chinese Pack       中文漢化
SonarJava         java的掃描,如果是php等等下載對應的就好了

4.安裝SonarQube Runner和配置

//解壓文件
//進入文件
//編輯文件
[root@localhost local]#unzip  sonar-scanner-cli-3.0.3.778-linux.zip
[root@localhost local]#mv sonar-scanner-cli-3.0.3.778-linux  sonar-scanner
[root@localhost local]# cd sonar-scanner
[root@localhost sonar-scanner]# vim conf/sonar-scanner.properties 
#Configure here general information about the environment, such as SonarQube DB details for example
#No information about specific project should appear here



#----- Default source code encoding
sonar.sourceEncoding=UTF-8

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

 我的項目放在/root/java/sell 目錄下來了,項目放在那都行的。

創建一個sonar-project.properties 

[root@localhost sell]# vim sonar-project.properties 

#項目的key
sonar.projectKey=itil:change   
#項目的名字(可以隨便寫,這個名字在sonar顯示的)
sonar.projectName=sell
#項目的版本
sonar.projectVersion=1.0
#需要分析的源碼的目錄
sonar.sources=src/
#這是target(如果沒編譯可以不寫)
sonar.java.binaries=target/classes
#java語言
sonar.language=java
#編碼格式
#sonar.sourceEncoding=UTF-8

 

 //開始掃描,
[root@localhost sell]# /usr/local/sonar-scanner/bin/sonar-scanner 

 這是就是成功了。

linux用的還不是很熟練,有的東西可以更加簡便的。

enkins+git 持續集成之重頭安裝到持續集成(一)

SonarQube和sonar-scanner詳細安裝及配置(二)

sonar jenkins 完美對接(三)    

jenkins整合的話。我是程序員s

 

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