溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2020-08-13 14:48:09 來源:網絡 閱讀:2415 作者:newthink 欄目:軟件技術

一、安裝并配置Jenkins。

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可以自動的下載源代碼,并自動完成分析,還可以設置定時任務,實現全自動,是懶人必備利器?。?/p>

    下例中,使用Git+Scanner及Git+Maven分別進行源代碼自動分析。原理基本一樣,首先要有一個代碼庫,如Bitbucket,然后在Jenkins中配置Git從代碼庫中自動下載最新的代碼,最后調用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的授權號碼,復制出來在網頁登陸時粘貼上,用于完成授權。


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首頁的系統管理》系統配置中找到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中最少具有讀取權限的用戶名及密碼,實現從源碼庫下載源碼的功能。

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

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

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

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

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

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

立即構建首次代碼分析

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

查看執(zhí)行過程

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

出現錯誤,和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項目,進行配置

在系統管理——》全局工具管理中安裝Maven

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

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

隨便取個名字并保存

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

現在還不會安裝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中查看(這是已經配置好的儀表盤)

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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI