Jenkins 使用學習筆記

 

3.1    Jenkins安裝    2java

3.1.1    Jenkins下載    2數據庫

3.1.2    Jenkins 安裝    2瀏覽器

3.1.3    Jenkins 目錄結構    3安全

3.2    Jenkins系統管理    3服務器

3.2.1    系統配置    4框架

3.2.2    插件管理    4工具

3.3    建立一個任務    5佈局

3.3.1    安裝MSBuild Plugin插件    5單元測試

3.3.2    建立新任務    6測試

3.4    自動測試    8

3.4.1    相關插件安裝    9

3.4.2    配置任務    9

3.5    代碼質量管理    11

3.5.1    相關插件安裝    12

3.5.2    使用FxCop分析程序集    12

3.5.3    使用StyleCop審查代碼    13

3.5.4    展現分析結果    14

3.6    用戶權限管理    16

3.6.1    使用系統自帶的受權機制    16

3.6.2    Role-basedAuthorization Strategy受權機制    17

3.7    構建通知    19

3.7.1    經過郵件通知    19

3.7.2    經過實時消息通知    20

 

 

 

 

 

  1. Jenkins安裝

  2. Jenkins下載

    因爲Jenkins是開源的,能夠直接下載其源代碼自行編譯,也能夠下載發佈好的文件,下載地址爲:http://mirrors.jenkins-ci.org/war/latest/jenkins.war

  3. 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打開系統,以下圖,(如能正常打開系統,表示系統安裝成功)。

  4. 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後存儲到其餘的地方。

  5. Jenkins系統管理

    在使用系統以前,還須要對系統進行一些基本的配置,以下圖:

  6. 系統配置

    系統配置是Jenkins配置中很是重要的一個頁面,以下圖。

    在系統配置頁面,能夠配置JDK、MSBuild、源代碼控制等。幾乎全部的插件安裝後有須要配置的都會在這裏呈現。

  7. 插件管理

    Jenkins是一個可擴展的系統,其不少功能都利益於各式各樣的插件,現Jenkins中已有超過200個各類不一樣功能的插件。因此插件對於Jenkins是很是重要的。

    Jenkins的插件安裝可離線安裝,也可在線安裝。打開插件管理頁面,以下圖:

    在這裏可輕鬆的管理插件。

    注意:插件安裝完成後,通常須要重啓系統,還須要到系統配置頁面對插件進行配置,插件才能起做用。

  8. 建立一個任務

  9. 安裝MSBuild Plugin插件

    在建立一個任務以前,須要添加一些必須的插件。因爲例子是C#寫的,首先需安裝MSBuild插件

    安裝完MSBuild Plugin插件後,還需在系統配置裏進行配置。進入系統配置目錄,找到剛安裝的插件

    點擊MSBuild安裝,添加MSBuild的配置,以下圖,分別添加了.NET FrameWork 4.0 32位和64位MSBuild.exe,在建立任務選擇用MSBuild構建時,將同時用3二、64位的MSBuild.exe去編譯。

    紅色框中是MSBuild.exe的路徑。

  10. 建立新任務

    點擊新建Job,輸入任務名稱,以下圖,選擇構建一個自由風格的軟件項目,點擊肯定按鈕,進入Job詳細配置界面。

    爲了能完成一次基本的構建,至少須要作以下設置,在源碼管理選項,選擇源代碼管理工具。

    例子中選擇Git做爲源代碼管理工具,還需安裝 Git Plugin和Git Client Plugin做爲插件。系統自帶SVN插件,若用SVN作源代碼管理,則無需再去安裝插件。

    選擇了代碼管理工具,還一關鍵的一步,添加構建。

    點擊增長構建,選擇前面安裝的MSBuild,將構建文件設置爲項目文件,以下圖:

    完成這些基本配置後,點擊保存按鈕,保存配置,返回任務界面,點擊當即構建,Jenkins將會自動重源代碼服務獲取代碼,並編譯,並顯示構建狀態。

    紅色圖標表示構建失敗,綠色圖標表示構建成功。能夠點擊控制檯輸出查看詳細的構建信息。

  11. 自動測試

  12. 相關插件安裝

    對於C#語言,在自動化測試中,能夠用到以下插件:

  • Jenkins MSTestRunner plugin:系統使用MSTest來測試;
  • Jenkins NUnit plugin:系統使用NUit來測試;
  • JENKINS MSTest plugin:來發布MSTest的測試結果。

本例以MSTestRunner和MSTest plugin來做爲例子來講明。首先到系統的插件管理界面安裝這兩個插件,以下圖

安裝完這兩個插件後,重啓Jenkins。打開系統配置界面,還需對MSTest進行配置。

紅色框是MSTest.exe的路徑位置,該工具爲VS自帶工具。

  1. 配置任務

    安裝完前面的插件後,經過配置,就可讓Jenkins在構建的時候自動運行測試用例。

    打開任務的配置界面,在構建項,選擇添加構建,運行單元測試。

    添加相關配置,測試文件爲咱們測試項目所生成的dll或者exe文件。測試結果文件爲MSTest.exe所產生的測試結果文件,文件後綴爲trx。注意:這裏文件是相對路徑,相對於項目的路徑。

    完成了這一步的配置,系統在構建的時候,就能自動運行測試用例,但系統還不能將測試結果展現出來,要展現結果結果,還需作以下配置。

    在任務配置的構建後的操做裏,選擇添加後構建後的操做,以下圖。

    選擇發佈MSTest 測試結果報告。

    在測試報告文件中添加前面配置MSTest.exe生的結果文件。

    經過這些基本的配置,系統就能在構建的時候運行測試用例,並將測試結果展現出來。

    在每一個任務的主頁,有測試結果的統計圖。

    對於每次的測試,都有很詳細的信息展現。要查看某一次構建的測試結果,能夠點擊構建歷史中的測試結果。

     

    在測試結果頁面中,展現的測試結果的整體詳細,點擊某個測試名稱,還能顯示該測試的詳細信息。

  2. 代碼質量管理

  3. 相關插件安裝

    對於C#語言,代碼質量管理可用到以下插件:

  • Jenkins FxCop Runner plugin:該插件就是在構建的時候調用FxCop來分析代碼。
  • Static Analysis Utilities
  • Jenkins Violations plugin:該插件主要用來展現各類分析工具所產生的結果。

在安裝完Jenkins FxCop Runner plugin後,還需對其進行配置。點擊系統管理,系統設置,以下圖。

點擊FxCop安裝,設置FxCop程序的路徑。

  1. 使用FxCop分析程序集

    FxCop是一個代碼分析工具,它依照微軟.NET框架的設計規範對託管代碼assembly進行檢查。它使用基於規則的引擎,來檢查出你代碼中不合規範的部分;也能夠定製本身的規則加入到這個引擎。

    爲了能讓FxCop在構建系統時運行,還需在任務中添加配置。在構建項目,選擇增長構建步驟,選擇FxCop exec。

    添加配置信息。程序集名稱爲咱們須要分析的項目所生成的程序集。輸入xml文件爲分析所產生的結果文件,爲xml格式文件。

    完成好這些配置後,系統在構建的時候將會調用配置的工具進行代碼分析。

  2. 使用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必定要選上,否則有可能致使不能正常使用。

    爲了能讓系統在構建時自動運行該工具,需編輯一下項目文件,添加以下配置:

  3. 展現分析結果

    在任務配置頁面,構建後操做,增長構建後操做,選擇Report Violations。

    在Report Violations配置頁面,設置要展現的文件。我閃這裏設置FxCop、StyleCop分析所產生的文件。值得注意的是,StyleCop所產生的文件是在obj\Debug目錄下。

    完成這些配置後,從新構建任務。任務構建的主頁會多出配置的分析報告。

    點擊某一項,還能夠進入該項的詳細分析報表。

  4. 用戶權限管理

  5. 使用系統自帶的受權機制

    默認地Jenkins不包含任何的安全檢查,任何人能夠修改Jenkins設置、任務和啓動構建等。顯然地在大規模的公司須要多個部門一塊兒協調工做的時候,沒有任何安全檢查會帶來不少的問題。 咱們能夠經過如下2方面來加強Jenkins的安全:

  • Security Realm,用來決定用戶名和密碼,且指定用戶屬於哪一個組;
  • Authorization Strategy,用來決定用戶對那些資源有訪問權限;

在系統管理,Configure Global Security頁面中啓用權限管理。

首先要啓用安全,在安全域中選擇Jenkins專有用戶數據庫,並選擇容許用戶註冊。在受權策略選項中選擇項目矩陣受權策略。設置好這些基本屬性後,就是添加用戶。

輸入用戶名,點擊添加系統就添加了用戶,但需注意,在這裏只添加了用戶名,添加的用戶還不能登陸,還需返回系統註冊頁面,註冊一個與此設置的相同用戶名的用戶。以下圖:

  1. Role-basedAuthorization Strategy受權機制

    打開系統管理,插件管理頁面,安裝Role-basedAuthorization Strategy插件。

    進入系統管理,系統設置,以下圖所示:"安全域"選擇使用Jenkins專有用戶數據庫,能夠在初始化的時候勾選"容許用戶註冊";"受權策略"選擇使用"Role-Based Strategy"。

    配置完成後在"系統管理"下新增選項"Manage and Assign Roles"。點擊"管理用戶"新建帳戶後便可進行帳戶,羣組的安全策略配置。

    點擊Manage and Assign Roles,進入以下界面,頁面有添加角色,給角色受權功能。

    點擊添加角色,進入角色管理頁面。在這裏有兩種角色,一種是全局角色,一種是項目角色,通常用戶需授這兩種角色。

    點擊Assing Roles,界面用戶受權界面。注意:這裏添加用戶的方式與前面介紹的相同。

  2. 構建通知

  3. 經過郵件通知

    進行系統管理,系統設置頁面,設置郵件服務器。

    配置完蛋郵件服務器後,進行任務配置頁面,配置郵件通知。

    當完成一次構建後,系統將發送詳細的構建信息,以下圖。

  4. 經過實時消息通知

    實時消息通知有兩種方式,一種是經過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服務器交互,以下圖。

相關文章
相關標籤/搜索