https://www.cnblogs.com/tester-l/p/6018105.html
-
Jenkins 安裝
Jenkins是用Java語言開發的系統,首先要确定伺服器上已經安裝JDK或者JRE。
安裝方式一
直接運作java –jar Jenkins.war,在浏覽器中輸入 http://localhost:8080即可。
安裝方式二
安裝Tomcat。
添加環境變量JENKINS_HOME,該變量為jenkins系統的工作目錄,如下圖:
(注意:該目錄對于jenkins極為重要,系統所有相關的配置、資料檔案等都存放于此,是以一定要確定該目錄有足夠的空間)。
修改Tomcat 程式conf/server.xml檔案,在Host結點下添加<Context path="/jenkins" docBase="G:\WWWRoot\jenkins\jenkins.war" reloadable="true" />,其中path表示jenkins系統的通路跨徑,docBase表示jenkins程式檔案所在位置。
啟動Tomcat,輸入http://localhost:8080/jenkins打開系統,如下圖,(如能正常打開系統,表示系統安裝成功)。
-
Jenkins 目錄結構
Jenkins 所有資料存放在JENKINS_HOME所設定的目錄下,如果沒設定此變量,資料将會儲存在 我的檔案/.jenkins目錄下。目錄結構如下:
JENKINS_HOME
+- config.xml (配置檔案)
+- *.xml (其它配置檔案)
+- userContent (使用者授權檔案)
+- plugins (插件)
+- jobs
+- [JOBNAME] (存放所有的Job的檔案)
+- config.xml (job 配置檔案)
+- workspace (存放系統代碼)
由于Jenkins沒有資料庫存,是以備份、删除、移動資料非常友善。備份是要備份JENKINS_HOME目錄即可,恢複時要先停止jenkins。對于移動或删除jobs,隻需要簡單地移動或删除%JENKINS_HOEM%\jobs目錄。對于修改jobs的名字,隻需要簡單地修改%JENKINS_HOEM%\jobs下對應job的檔案夾的名字。對于不經常使用的job,隻需要對%JENKINS_HOEM%\jobs下對應的jobs的目錄zip或tar後存儲到其他的地方。
-
Jenkins系統管理
在使用系統之前,還需要對系統進行一些基本的配置,如下圖: -
系統配置
系統配置是Jenkins配置中非常重要的一個頁面,如下圖。 在系統配置頁面,可以配置JDK、MSBuild、源代碼控制等。幾乎所有的插件安裝後有需要配置的都會在這裡呈現。 -
插件管理
Jenkins是一個可擴充的系統,其很多功能都利益于各式各樣的插件,現Jenkins中已有超過200個各種不同功能的插件。是以插件對于Jenkins是非常重要的。
Jenkins的插件安裝可離線安裝,也可線上安裝。打開插件管理頁面,如下圖:
在這裡可輕松的管理插件。
注意:插件安裝完成後,一般需要重新開機系統,還需要到系統配置頁面對插件進行配置,插件才能起作用。
-
建立一個任務
-
安裝MSBuild Plugin插件
在建立一個任務之前,需要添加一些必須的插件。由于例子是C#寫的,首先需安裝MSBuild插件 安裝完MSBuild Plugin插件後,還需在系統配置裡進行配置。進入系統配置目錄,找到剛安裝的插件 點選MSBuild安裝,添加MSBuild的配置,如下圖,分别添加了.NET FrameWork 4.0 32位和64位MSBuild.exe,在建立任務選擇用MSBuild建構時,将同時用32、64位的MSBuild.exe去編譯。 紅色框中是MSBuild.exe的路徑。 -
建立新任務
點選建立Job,輸入任務名稱,如下圖,選擇建構一個自由風格的軟體項目,點選确定按鈕,進入Job詳細配置界面。 為了能完成一次基本的建構,至少需要做如下設定,在源碼管理選項,選擇源代碼管理工具。例子中選擇Git作為源代碼管理工具,還需安裝 Git Plugin和Git Client Plugin作為插件。系統自帶SVN插件,若用SVN做源代碼管理,則無需再去安裝插件。
選擇了代碼管理工具,還一關鍵的一步,添加建構。
點選增加建構,選擇前面安裝的MSBuild,将建構檔案設定為項目檔案,如下圖: 完成這些基本配置後,點選儲存按鈕,儲存配置,傳回任務界面,點選立即建構,Jenkins将會自動重源代碼服務擷取代碼,并編譯,并顯示建構狀态。 紅色圖示表示建構失敗,綠色圖示表示建構成功。可以點選控制台輸出檢視詳細的建構資訊。 -
自動測試
-
相關插件安裝
對于C#語言,在自動化測試中,可以用到如下插件:
- Jenkins MSTestRunner plugin:系統使用MSTest來測試;
- Jenkins NUnit plugin:系統使用NUit來測試;
- JENKINS MSTest plugin:來釋出MSTest的測試結果。
本例以MSTestRunner和MSTest plugin來作為例子來說明。首先到系統的插件管理界面安裝這兩個插件,如下圖
安裝完這兩個插件後,重新開機Jenkins。打開系統配置界面,還需對MSTest進行配置。
紅色框是MSTest.exe的路徑位置,該工具為VS自帶工具。
-
配置任務
安裝完前面的插件後,通過配置,就可以讓Jenkins在建構的時候自動運作測試用例。
打開任務的配置界面,在建構項,選擇添加建構,運作單元測試。
添加相關配置,測試檔案為我們測試項目所生成的dll或者exe檔案。測試結果檔案為MSTest.exe所産生的測試結果檔案,檔案字尾為trx。注意:這裡檔案是相對路徑,相對于項目的路徑。完成了這一步的配置,系統在建構的時候,就能自動運作測試用例,但系統還不能将測試結果展示出來,要展示結果結果,還需做如下配置。
在任務配置的建構後的操作裡,選擇添加後建構後的操作,如下圖。
選擇釋出MSTest 測試結果報告。在測試報告檔案中添加前面配置MSTest.exe生的結果檔案。
通過這些基本的配置,系統就能在建構的時候運作測試用例,并将測試結果展示出來。
在每個任務的首頁,有測試結果的統計圖。
對于每次的測試,都有很詳細的資訊展示。要檢視某一次建構的測試結果,可以點選建構曆史中的測試結果。 在測試結果頁面中,展示的測試結果的總體詳細,點選某個測試名稱,還能顯示該測試的詳細資訊。 -
代碼品質管理
-
相關插件安裝
對于C#語言,代碼品質管理可用到如下插件:
- Jenkins FxCop Runner plugin:該插件就是在建構的時候調用FxCop來分析代碼。
- Static Analysis Utilities
- Jenkins Violations plugin:該插件主要用來展示各種分析工具所産生的結果。
在安裝完Jenkins FxCop Runner plugin後,還需對其進行配置。點選系統管理,系統設定,如下圖。
點選FxCop安裝,設定FxCop程式的路徑。
-
使用FxCop分析程式集
FxCop是一個代碼分析工具,它依照微軟.NET架構的設計規範對托管代碼assembly進行檢查。它使用基于規則的引擎,來檢查出你代碼中不合規範的部分;也可以定制自己的規則加入到這個引擎。
為了能讓FxCop在建構系統時運作,還需在任務中添加配置。在建構項目,選擇增加建構步驟,選擇FxCop exec。
添加配置資訊。程式集名稱為我們需要分析的項目所生成的程式集。輸入xml檔案為分析所産生的結果檔案,為xml格式檔案。 完成好這些配置後,系統在建構的時候将會調用配置的工具進行代碼分析。 -
使用StyleCop審查代碼
StyleCop的終極目标是讓所有人都能寫出優雅和一緻的代碼,是以這些代碼具有很高的可讀性。
StyleCop不是代碼格式化(代碼美化)工具,而是代碼規範檢查工具(Code Review 工具),它不僅僅檢查代碼格式,而是編碼規範,包括命名和注釋等。
StyleCop目的是幫助項目團隊執行一系列常用的源代碼格式規範,這些規範是關于如何開釋出局規整,易讀,易維護并且文檔良好的優雅代碼的 。
StyleCop現在包含了 200 個左右的最佳實踐規則(best practice rules),這些規則與 Visual Studio 2005 和 Visual Studio 2008 中預設的代碼格式化規則是一緻的。
StyleCop安裝
StyleCop是微軟的開源項目,可到http://stylecop.codeplex.com/下載下傳最新的安裝包。在安裝該工具的時候,盡量預設安裝,并且MSBuild files一定要選上,不然有可能導緻不能正常使用。
為了能讓系統在建構時自動運作該工具,需編輯一下項目檔案,添加如下配置: -
展示分析結果
在任務配置頁面,建構後操作,增加建構後操作,選擇Report Violations。 在Report Violations配置頁面,設定要展示的檔案。我閃這裡設定FxCop、StyleCop分析所産生的檔案。值得注意的是,StyleCop所産生的檔案是在obj\Debug目錄下。 完成這些配置後,重新建構任務。任務建構的首頁會多出配置的分析報告。 點選某一項,還可以進入該項的詳細分析報表。 -
使用者權限管理
-
使用系統自帶的授權機制
預設地Jenkins不包含任何的安全檢查,任何人可以修改Jenkins設定、任務和啟動建構等。顯然地在大規模的公司需要多個部門一起協調工作的時候,沒有任何安全檢查會帶來很多的問題。 我們可以通過以下2方面來增強Jenkins的安全:
- Security Realm,用來決定使用者名和密碼,且指定使用者屬于哪個組;
- Authorization Strategy,用來決定使用者對那些資源有通路權限;
在系統管理,Configure Global Security頁面中啟用權限管理。
首先要啟用安全,在安全域中選擇Jenkins專有使用者資料庫,并選擇允許使用者注冊。在授權政策選項中選擇項目矩陣授權政策。設定好這些基本屬性後,就是添加使用者。
輸入使用者名,點選添加系統就添加了使用者,但需注意,在這裡隻添加了使用者名,添加的使用者還不能登入,還需傳回系統注冊頁面,注冊一個與此設定的相同使用者名的使用者。如下圖:
-
Role-basedAuthorization Strategy授權機制
打開系統管理,插件管理頁面,安裝Role-basedAuthorization Strategy插件。 進入系統管理,系統設定,如下圖所示:"安全域"選擇使用Jenkins專有使用者資料庫,可以在初始化的時候勾選"允許使用者注冊";"授權政策"選擇使用"Role-Based Strategy"。 配置完成後在"系統管理"下新增選項"Manage and Assign Roles"。點選"管理使用者"建立賬戶後即可進行賬戶,群組的安全政策配置。 點選Manage and Assign Roles,進入如下界面,頁面有添加角色,給角色授權功能。 點選添加角色,進入角色管理頁面。在這裡有兩種角色,一種是全局角色,一種是項目角色,一般使用者需授這兩種角色。 點選Assing Roles,界面使用者授權界面。注意:這裡添加使用者的方式與前面介紹的相同。 -
建構通知
-
通過郵件通知
進行系統管理,系統設定頁面,設定郵件伺服器。 配置完蛋郵件伺服器後,進行任務配置頁面,配置郵件通知。 當完成一次建構後,系統将發送詳細的建構資訊,如下圖。 -
通過實時消息通知
實時消息通知有兩種方式,一種是通過Jabber,另一種是通過IRC的方式通知。例子通過Jabber的方式來說明。
Jabber 是著名的Linux即時通訊服務伺服器,它是一個自由開源軟體,能讓使用者自己架即時通訊伺服器,可以在Internet上應用,也可以在區域網路中應用。Jabber最有優勢的就是其通信協定,可以和多種即時通訊對接。
安裝Jabber實時通訊伺服器
到http://www.igniterealtime.org 下載下傳Openfire和Spark。其中Openfire為伺服器,Spark為用戶端。
安裝好Openfire伺服器後,啟動相關服務,在其管理界面添加使用者。這裡建立使用者jenkins作為Jenkins系統的賬戶,如下圖。
為了能上Jenkins能使用Jabber服務,還需安裝下圖所顯示的兩個插件。 安裝完這兩個插件後,進行系統管理,系統設定頁面,配置Jabber插件。 完成配置後,開發人員可通過Jabber用戶端與Jenkins系統互動。Jenkins每次建構後,都将會給使用者發送消息,如下圖。 開發人員,還可以通過這個工具與Jenkins伺服器互動,如下圖。