用於我的sonar已經在一台機器上搭建好了,但是每次都要人工去執行sonar-run,很麻煩,所以就想着集成到jenkins上,在jenkins上點點按鈕就可以看sonar結果,所以很抱歉,本博客不設置sonar的安裝。用於jenkins和sonar不在同一台服務器上,所以,我還是采用了jenkins的master-slave的分布模式來集成sonar。我的sonar服務器是centos系統,ip是192.168.1.250,jenkins master 也是centos的系統,ip是192.168.1.246,關於如何搭建jenkins的master-slave模式,請參考我的另外一篇博客,https://www.cnblogs.com/zndxall/p/8297356.html,其中介紹了不同平台的slave機器的接入,當然,滿足本博客的是centos系統的slave的接入。
除了在jenkins master設置slave的接入,還有以下工作要做:
1.安裝插件SonarQube Scanner for Jenkins
2.配置sonar服務:
系統管理--》系統設置
server url:就是sonar web 界面的url
login和password就是上面url的登陸的用戶名和密碼,默認的用戶名/密碼是:admin/admin
3.設置sonar安裝路徑
系統管理--》Global Tool Configuration
備注:SONAR_RUNNER_HOME根據自己的真實情況填寫,可以參考slave機器上的/etc/profile文件寫的路徑。
4.任務設置
(1)設置下發構建到slave機器 centos-250上:
(2)構建配置:
在構建階段添加構建步驟,只需要填寫Analysis properties即可。
填寫內容如下(根據自己的實際情況):
sonar.projectKey=sonar_source
sonar.projectName=sonar_source
sonar.projectVersion=1.0.0
sonar.sources=sdk,sdk-browse,sdk-common,demo
其中,sonar.projectKey和sonar.projectName:填寫的都是工程名,也可以理解為要執行sonar的文件夾的名字,
sonar.projectVersion:參數沒細研究過,直接用我的1.0.0也沒問題
sonar.sources:說明的是工程的哪些文件夾要參與到sonar檢查中來,多個目錄之間用逗號分開。
(多說一句:如果在工程中直接將上面的內容寫入的文件sonar-project.properties中,直接bash調用進入到工程中,直接執行sonar-runner也是可以的,因為sonar-runner就是依據sonar-project.properties來執行的,和界面填寫,效果一樣)
(3)以上配置完成后,按照下圖,先點擊“開始構建”觸發構建,構建結束后,點擊左邊的SonarQube,然后就會跳轉到sonar界面,
跳轉后效果如下:
url對應的就是前面設置的server url
參考:https://blog.csdn.net/csolo/article/details/78159521