Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

一、安裝并配置Jenkins。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、將樂網(wǎng)站維護、網(wǎng)站推廣。

Jenkins 的前身是 Hudson 是一個可擴展的持續(xù)集成引擎。主要用于:

  • 持續(xù)、自動地構建/測試軟件項目,如CruiseControl與DamageControl。

  • 監(jiān)控一些定時執(zhí)行的任務。

    它有兩種安裝方法,一種是獨立安裝,另一種是做為一個Tomcat的一個war插件來運行(JDK環(huán)境是必不可少的),先下載Tomcat,解壓tomcat到某個目錄,如/usr/local,進入tomcat下的/bin目錄,啟動tomcat,將jenkins.war文件放入tomcat下的webapps目錄下,啟動jenkins時,會自動在webapps目錄下建立jenkins目錄,所以在地址欄上訪問時需要在IP后面加Jenkins目錄,例如:http://IP/jenkins:8080。

    使用命令行命令Scanner及Runner分析代碼,需要人工下載源代碼文件夾到分析命令所在服務器進行人工運行,持續(xù)性分析體驗很差。使用Jenkins可以自動的下載源代碼,并自動完成分析,還可以設置定時任務,實現(xiàn)全自動,是懶人必備利器??!

    下例中,使用Git+Scanner及Git+Maven分別進行源代碼自動分析。原理基本一樣,首先要有一個代碼庫,如Bitbucket,然后在Jenkins中配置Git從代碼庫中自動下載最新的代碼,最后調(diào)用Scanner或Maven把代碼發(fā)送到SonarQube進行分析,SonarQube上顯示本次項目的分析報告。

1、在CentOS中獨立安裝Jenkins、Maven。

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo  #添加Jenkins的源
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key      #安裝Jenkins的Key     
yum install jenkins                                            #安裝Jenkins     
ll /usr/lib/jenkins/            #安裝成功后可以查看到Jenkins的war包,如果要升級jenkins,只需要下載這個war包替換下就行。     
vim /etc/sysconfig/jenkins      #配置Jenkins,默認啟動端口8080,如果不需要改,配置文件可以不動
systemctl start jenkins         #啟動Jenkins服務
chkconfig jenkins on            #設置為開機自動啟動
cat /var/lib/jenkins/secrets/initialAdminPassword               #顯示Jenkins安裝后的Admin的授權號碼,復制出來在網(wǎng)頁登陸時粘貼上,用于完成授權。

2、在其它電腦上瀏覽器訪問Jenkins,訪問地址:http://服務器IP:8080,粘貼上復制好的授權號,授權成功后,設置管理員賬號及密碼,再安裝默認組件,最后進入啟動界面:

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

在Jenkins中下載并安裝sonarQube Plugin插件。    
   
Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

安裝完成后勾選下圖,Jenkins自動重啟。

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

3、在Jenkins中配置Sonar及設置全局配置

在Jenkins首頁的系統(tǒng)管理》系統(tǒng)配置中找到Sonaqube的配置項

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

設置全局工具配置

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

 

4、新建一個自由項目,并配置Scanner時行配置

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

在Bitbucket中找到要分析項目源碼Git地址,復制下來

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

在Git中配置源碼獲取地址,并增加在Bitbucket中最少具有讀取權限的用戶名及密碼,實現(xiàn)從源碼庫下載源碼的功能。

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

構建Scanner來執(zhí)行代碼分析

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

把Scanner的配置文件復制到Analysis properties中,項目名稱、主鍵、版本號根據(jù)實際需要修改。

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

立即構建首次代碼分析

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

查看執(zhí)行過程

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

出現(xiàn)錯誤,和SonarQubo中的Findbugs插件有沖突,需要在SonarQubo中刪除這個插件,再執(zhí)行分析就能成功

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

分析成功

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

SonarQube中查看分析結果

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

 

5、安裝Maven,并新建一個maven項目,進行配置

在系統(tǒng)管理——》全局工具管理中安裝Maven

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

隨便取個名字并保存

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

現(xiàn)在還不會安裝maven,只有在“立即構建”時才會執(zhí)行安裝maven的操作,接下來新建一個maven項目

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

同樣的配置Git

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

源碼目錄下的“pom.xml”是Eclipse中的Maven生成的配置文件,需要在Eclipse中先進行配置,并且生成在根目錄下。

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

增加一個執(zhí)行Shell

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

寫入如下命令

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

第一次很慢,因為要先下載Maven安裝后,再執(zhí)行代碼分析,以后就快多了,構建成功了在Console Output中有SUCCESS的提示

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

在sonar中查看(這是已經(jīng)配置好的儀表盤)

Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)

本文題目:Sonar6.0應用之四:與Jenkins集成分析(Scanner+Maven)
本文路徑:http://muchs.cn/article30/piedso.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App開發(fā)、品牌網(wǎng)站制作、商城網(wǎng)站云服務器、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站