1. 在Parallels Desktop中新建Ubuntu虛擬機
在虛擬機設置中,設置共享文件夾,自定義本機的“下載”文件夾爲共享文件夾,則可以在虛擬機的/media/psf/下看到共享的“下載”文件夾。
2. 終端ssh連接虛擬機
3. 安裝軟件
在Linux系統中的軟件下載可以有兩種方式,一是從網絡上下載安裝包,即使用wget下載網絡資源(jdk不可用這種方式,因爲下載時需要登錄Oracle賬戶且同意聲明),此方式適合Sonar的兩個軟件;二是手動下載網絡資源之後,如jdk,在Oracle官網下載Linux的安裝包.tar.gz文件之後,通過共享文件夾在虛擬機中訪問文件,此方式適合jdk。
Linux系統軟件的安裝方式,一可以使用類似於yum的在線軟件管理中的install命令直接安裝;二可以使用離線安裝包,然後在源碼文件夾中進行檢查,編譯,安裝的操作,如configure檢查及指定安裝目錄,make編譯,make install安裝。
3.1 安裝jdk
在oracle官網登錄之後去下載jdk的linux的64位的.tar.gz安裝包
下載完成之後,放到“下載”目錄下,在虛擬機中訪問共享目錄“下載”下,拷貝jdk安裝包到/opt下。
在/usr下創建/usr/local/java目錄,mkdir /usr/local/java
cd /usr/local/java
將jdk解壓到java目錄中,tar xzvf /opt/jdk-8u181-linux-x64.tar.gz
,在環境變量中增加jdk配置。
vim /etc/bash.bashrc
source /etc/bash.bashrc
使用java -version測試配置是否正確
3.2 安裝MySQL
安裝mysql:
Ubuntu下安裝mysql,默認安裝版本爲5.6,安裝完成之後,需要升級,mysql5.6升級5.7操作
3.3 安裝Sonarqube,Sonar-Scanner
- 安裝sonarqube,sonar-scanner
cd /opt
(下載的文件自定義放在了opt下)
sudo wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.5.zip
sudo wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip
解壓到usr/sonar (sonar 是自己創建的文件夾mkdir /usr/sonar
)
解壓zip文件,需要先安裝unzip命令,sudo apt-get install unzip
在/usr/sonar下,執行解壓,unzip /opt/sonarqube-6.7.5.zip
,unzip /opt/sonar-scanner-cli-3.2.0.1227-linux.zip
- sonar配置修改
1、vim /usr/sonar/sonarqube-6.7.5/conf/sonar.properties
2、vim /usr/sonar/sonarqube-6.7.5/conf/wrapper.conf
3、vim /usr/sonar/sonar-scanner-3.2.0.1227-linux/conf/sonar-scanner.properties
4、在profile中增加sonar-scanner的配置
vim /etc/profile
增加如下的配置export SONAR_HOME="/usr/sonar/sonarqube-6.7.5" export SONAR_RUNNER_HOME="/usr/sonar/sonar-scanner-3.2.0.1227-linux" export PATH=$SONAR_RUNNER_HOME/bin:$PATH
source /etc/profile
4. 創建數據庫信息
```sql
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;
```
5. 啓動sonar服務
在sonarqube下的bin目錄下的linux的64位的文件夾下的sonar.sh腳本執行啓動,./sonar.sh start
6. sonar-scanner運行結果
成功運行,在本地瀏覽器中打開http://10.211.55.4:9000/about,即可查看soanr-scanner結果,如圖
運行過程中的問題記錄
1、由執行權限原因,導致sonar服務一直啓動失敗
解決辦法:對/usr/sonar文件夾進行權限修改,sudo chmod -R 777 /usr/soan
2、運行過程中報:Process exited with exit value [es]: 143
解決方案見鏈接:https://blog.csdn.net/qq_35981283/article/details/81072852
3、啓動過程中web啓動失敗,數據庫鏈接一直異常
解決方案:先刪除mysql中的sonar數據庫,然後從新創建soanr數據庫,重啓sonar服務即可。
4、導入py項目,到/usr/sonar目錄下,開始運行,在/usr/sonar下運行 sonar-scanner時提示沒有py插件
解決方案:去網上下載py插件,然後放到sonarqube的extension目錄下,重啓sonar服務