您好,登錄后才能下訂單哦!
一、安裝好了SonarQube服務端后,在其它電腦的瀏覽器上登陸,開始安裝其它編程語言檢測插件
系統已經裝好的語言插件:
下載了軟件項目中常用的語言:Android、CSS、Web、XML
JAVA相關的:Checkstyle、Findbugs、PMD
Java 靜態分析工具分析對象 | 應用技術 |
Checkstyle | Java 源文件,缺陷模式匹配 |
FindBugs | 字節碼,缺陷模式匹配;數據流分析 |
PMD | Java 源代碼,缺陷模式匹配 |
下載完分析語言規則后,重啟服務
二、安裝命令行分析端
sonar的命令行分析端軟件有兩種分別是Runner和Scanner,官網文檔中寫的是Scanner,但Runner和它安裝、使用都基本一致。
1、在CentOS上安裝sonar-runner-dist-2.4
cd /usr/local/src/
wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
unzip sonar-runner-dist-2.4.zip
mv sonar-runner-2.4/ /usr/local/
配置PATH路徑
vim /etc/profile
在文件最后加入如下內容,保存并退出。
PATH=$PATH:/usr/local/sonar-runner-2.4/bin
export PATH
配置sonar-runner啟動配置文件
vim /usr/local/sonar-runner-2.4/conf/sonar-runner.properties
把下面內容前#號去掉或增加后,保存并退出
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.host.url=http://192.168.1.190
sonar.login=admin
sonar.password=admin
安裝成功后重啟服務器,在命令行運行以上命令并回顯,表示運行成功。
[root@sonar local]# sonar-runner -h
INFO:
INFO: usage: sonar-runner [options]
INFO:
INFO: Options:
INFO: -D,--define <arg> Define property
INFO: -e,--errors Produce execution error messages
INFO: -h,--help Display help information
INFO: -v,--version Display version information
INFO: -X,--debug Produce execution debug output
2、在CentOS上安裝sonar-scanner2.8
cd /usr/local/src/ wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip unzip sonar-scanner-2.8.zip mv sonar-scanner-2.8/ /usr/local/
配置PATH路徑
vim /etc/profile
在文件最后加入如下內容,保存并退出。
PATH=$PATH:/usr/local/sonar-runner-2.4/bin:/usr/local/sonar-scanner-2.8/bin
export PATH
配置sonar-scanner啟動配置文件
vim /usr/local/sonar-scanner-2.8/conf/sonar-scanner.properties
把下面內容前#號去掉或增加后,保存并退出
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.host.url=http://192.168.1.190
sonar.login=admin
sonar.password=admin
安裝成功后重啟服務器,在命令行運行以上命令并回顯,表示運行成功。
[root@sonar local]# 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
INFO: -i,--interactive Run interactively
三、把開發程序的源代碼打包成zip文件上傳到安裝有Runner或Scanner的服務器上
解壓上傳的源代碼:
cd /usr/local/
unzip whale.zip
四、使用sonar-scanner進行代碼質量分析
1、在服務器上建立一個準備用Scanner執行的配置文件
cd whale/
vim sonar-project.properties
2、建立文件內容如下:
# must be unique in a given SonarQube instance
sonar.projectKey=whale:scanner
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=whale-scanner
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=.
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
3、保存并退出后運行命令進行分析(分析中不能執行Findbugs3.4.3分析,在web端卸載這個規則后可以正常分析):
sonar-scanner
4、在web中查看Scanner代碼質量分析的結果。
五、使用sonar-Runner進行代碼質量分析
1、修改下Scanner執行時的配置文件
cd /usr/local/whale/
vim sonar-project.properties
2、修改文件內容如下:
# must be unique in a given SonarQube instance
sonar.projectKey=whale:runner
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=whale-runner
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=.
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
3、保存并退出后運行命令進行分析(分析中不能執行Findbugs3.4.3分析,在web端卸載這個規則后可以正常分析):
sonar-runner
4、在web中查看runner代碼質量分析的結果。
結果一樣,證明Runner和Scanner功能差不多。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。