Jenkins 持續集成安裝及使用簡介

博客地址:http://www.moonxy.comjava

1、前言shell

持續集成(Continuous integration,簡稱CI)指的是,頻繁地(一天屢次)將代碼集成到主幹。json

持續集成的目的,就是讓產品能夠快速迭代,同時還能保持高質量。它的核心措施是,代碼集成到主幹以前,必須經過自動化測試。只要有一個測試用例失敗,就不能集成。瀏覽器

Jenkins 是基於 Java 開發的一種持續集成工具,用於監控持續重複的工做,下載地址:https://bitnami.com/stack/jenkins/installer,提供了 Windows、Linux 和 OS X 平臺的安裝包。最簡便的仍是使用提供的 war 包直接啓動,下載地址:http://mirrors.jenkins-ci.org/,此時必須保證系統中已經安裝了 jdk,最好是 jdk1.5 以上。安全

2、初始化 Jenkins 插件和管理員用戶服務器

下載好 jenkins.war 包以後,在 cmd 下切換到下載目錄,而後執行以下命令:網絡

java -jar jenkins.war

啓動了自帶的 Jetty 服務器maven

生成隨機口令工具

這樣,jenkins 就開始啓動了,它的 war 包中自帶 Jetty 服務器,第一次啓動 Jenkins 時,出於安全考慮,Jenkins 會自動生成一個隨機的安裝口令。注意控制檯輸出的口令,複製下來。在瀏覽器中輸入地址:測試

http://localhost:8080/

首次啓動 jenkins 時若是發現一直卡在啓動界面,提示:Jenkins正在啓動,請稍後...

你能夠按 Ctrl + C 強制結束啓動,而後再次執行上面的命令,發現就會繼續啓動了,或者能夠修改一下配置文件,由於你所在網絡可能被限制了,以下:

進入 jenkins 的工做目錄,默認是:C:\Users\Administrator\.jenkins

也能夠自定義 jenkins 的工做目錄,設置 JENKINS_HOME 環境變量,啓動 jenkins.war 後將被解壓到 JENKINS_HOME 目錄下,同時全部 jenkins 的 plugins 和 配置文件等也將被寫入到 JENKINS_HOME 所設置的目錄下。

打開 hudson.model.UpdateCenter.xml,將 http://updates.jenkins-ci.org/update-center.json 替換成 http://mirror.xmission.com/jenkins/updates/update-center.json,仍是不行的話找到 updates 目錄下的 default.json 把裏面全部的谷歌地址改爲百度的,即將 http://www.google.com/ 替換爲 http://www.baidu.com/。

2.1 進入以下頁面,輸入上面出現的口令

啓動後第一次進入以下頁面

2.2 進入選擇安裝插件的頁面後,能夠選擇安裝社區推薦的插件或自定義安裝,此處選擇前者

通常至少須要安裝以下幾個插件:

Git/Subversion、SSH、Publish Over SSH、Maven 等。

2.3 建立管理員用戶

填入帳戶信息後,進入完成頁面:

安裝完成。

3、配置 Jenkins 構建工具

用管理員帳號第一次登陸 Jenkins 後,須要在 "系統管理" -> "全局工具配置" 中,設置你要使用到的構建工具和 JDK 版本。

3.1 進入 jenkins 主界面

3.2 進入全局工具配置頁面

點擊 "系統管理" -> "全局工具配置"

進入後配置構建工具

3.3 配置 Maven

若是機器上已經安裝了 Maven,則在 Maven_HOME 輸入框中提供具體的安裝路徑。不然,你能夠選擇須要的 maven 版本,讓 Jenkins 爲你自動下載 maven。

3.4 配置 JDK

同理,若是機器上已經安裝了 JDK,則在 JAVA_HOME 輸入框中提供具體的安裝路徑。不然,你能夠選擇須要的 JDK 版本,讓 Jenkins 爲你自動下載 JDK。

3.5 配置 Git

若是以前沒有爲 Jenkins 安裝 Git、Subversion(SVN)或 CVS 插件,能夠在 "系統管理" -> "管理插件" 中安裝。

4、構建做業

構建做業是 Jenkins 構建過程的核心。

4.1 點擊建立一個新任務,進入建立項目類型選擇頁面

若是發現沒有 "構建一個maven項目" 這一項,則須要安裝 Maven Integration 插件,以下:

4.2 進入構建做業的詳細頁面

4.3 源碼管理

根據本身項目的實際狀況選擇源碼管理的方式:

4.4 構建觸發器

其中有 5 個參數,分別表示:

MINUTE:Minutes within the hour(0-59)

HOUR:The hour of the day(0-23)

DOM:The day of the month(1-31)

MONTH:The month(1-12)

DOW:The day of the week(0-7)where 0 and 7 are sunday

經常使用配置:

0 * * * * 爲每一個小時執行一次

0 1 * * * 爲沒天的凌晨1點執行一次,這種配置的設置,適合執行一些冒煙的測試用例

第一個參數:min,0-59

第二個參數:hour:0-23

第三個參數:day:0-31

第四個參數:month:1-12

第五個參數:week:0-7(0 和 7 表明 Sunday)

Jenkins 中 "Poll SCM" 和 "Build periodically"的區別

Poll SCM:定時檢查源碼變動(根據SCM軟件的版本號),若是有更新就checkout最新code下來,而後執行構建動做,配置以下:

*/5 * * * * (每5分鐘檢查一次源碼變化)

Build periodically:週期進行項目構建(它不care源碼是否發生變化),配置以下:

0 2 * * * (天天2:00 必須build一次源碼)

4.5 構建

在 "Build" 中,默認的項目根目錄的 Root POM,即 pom.xml。若是 pom.xml 不在根目錄下,就填入子目錄,例如:cloud/pom.xml。

若是源碼管理中選擇 "None",此處點 "高級..." 能夠自定義工做空間中的項目地址,以下:

保存上面的構建做業:

5、構建

構建做業以後,就能夠執行構建過程了。

5.1 執行構建的方式

 第一種:點擊任務名稱的右邊的小三角,而後點擊 "當即構建"

第二種:按照 "構建觸發器" 中設置的 "日程表"定時自動觸發構建

5.2 構建結果

第一列是 "上次構建狀態顯示",是一個圓形圖標,通常分爲四種:

藍色:構建成功;

黃色:不肯定,可能構建成功,但包含錯誤;

紅色:構建失敗;

灰色:項目從未構建過,或者被禁用;

如上顯示藍色,表示構建成功。

注意:手動觸發構建的時間與自動定時構建的時間互不影響。

5.3 查看控制檯輸出

能夠查看構建成功的控制檯輸出:

控制檯信息顯示將構建的 jar 包從項目的 target 目錄下歸檔到了 jenkins 指定的目錄下了

此目錄顯示按照不一樣的構建編號,構建成功的項目

這與該工程的構建歷史中的編號相對應

若是構建失敗,能夠經過查看構建失敗的控制檯輸出,來獲得具體的出錯信息,便於調試

點擊後查看錯誤信息,以下:

 

第二列是 "編譯晴雨表",以下:

若是看到你項目變成陰雲或者下雨,說明你的項目穩定性很差,須要去查找緣由,解決問題。

5.4 部署

若是要部署構建好的 war 包,能夠在 Post Steps 中填上 shell 命令,直接用腳本部署。

另外一種方式是建立另一個構建項目,手動觸發部署。

不管用哪一種方式,都是爲了確保編譯、部署是經過持續集成服務器完成的,而不是某臺開發機器。

相關文章
相關標籤/搜索