1. 程式人生 > >Mac Parallels Desktop Ubuntu虛擬機器中Sonar安裝及使用

Mac Parallels Desktop Ubuntu虛擬機器中Sonar安裝及使用

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

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.zipunzip /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服務