docker sonarqube地址:https://hub.docker.com/_/sonarqube
docker mysql地址:https://hub.docker.com/_/mysql
以下在linux環境執行:
一、拉取sonarqube鏡像
docker pull sonarqube
二、docker安裝mysql
1、拉取mysql 5.7版本鏡像
docker pull mysql:5.7
2、啟動mysql
docker run -p 3307:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
3、進入啟動的mysql container
docker exec -it mysql(容器名) bash
4、創建sonar數據庫和sonar用戶
#登錄mysql
mysql -u root -p
#創建sonar數據庫
create database sonar

五、sonar客戶端sonar-scanner的安裝
1、下載onar-scanner客戶端
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
2、解壓
unzip sonar-scanner-cli-3.3.0.1492-linux.zip sonar-scanner
3、移到標准位置
mv son-scanner /usr/local/sonar-scanner/
4、修改配置
cd /usr/local/sonar-scanner/conf
vi sonar-scanner.properties
#----- Default SonarQube server
sonar.host.url=http://ip:9000(sonar服務端訪問地址)
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://ip:3307/sonar?useUnicode=true&characterEncoding=utf8
sonar.login=admin
sonar.password=admin
4、環境變量配置
vi /etc/profile
在末尾環境變量處增加以下內容
export SONAR_SCANNER_HOME=/usr/local/sonar-scanner/
export PATH=$SONAR_SCANNER_HOME/bin:$PATH
5、驗證
在linux任意目錄執行sonar-scanner會進入執行過程,證明安裝成功
六、程序目錄下的sonar-project.properties配置
1、在程序pom.xml所在目錄添加sonar-project.properties文件
2、sonar-project.properties文件內容如下
#項目的key(對應sonar服務端的一個身份標識)
sonar.projectKey=xx-project
#項目的名字(可以隨便寫,這個名字在sonar顯示的)
sonar.projectName=xxproject
#項目的版本
sonar.projectVersion=1.0
#需要分析的源碼的目錄
sonar.sources=.
#這是target(如果沒編譯可以不寫)
sonar.java.binaries=src
#java語言
#sonar.language=java
#編碼格式
sonar.sourceEncoding=UTF-8
7、執行掃描驗證
在項目根目錄執行sonar-scanner
到sonar服務端項目列表查看結果
八、jenkins打通
待續