Jenkins+Maven+SVN快速搭建持續整合環境(轉)

xyzhuzhou發表於2016-01-27

Jenkins是一個可擴充套件的持續整合引擎,Jenkins非常易於安裝和配置,簡單易用,下面看看我們是如何幾分鐘就快速搭建一個持續整合環境吧。

假設我們目前已經有2個maven專案:entities(JAVA類庫),web(Web應用,依賴entities)。

一、安裝Jenkins

地址http://mirrors.jenkins-ci.org/下載適合的Jenkins版本。

Windows最新穩定版的Jenkins地址為:http://mirrors.jenkins-ci.org/windows-stable/jenkins-1.409.1.zip

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service

把Jenkins 1.409.1版解壓,把得到的war包直接扔到tomcat下,啟動tomcat,Jenkins就安裝完畢,是不是很簡單啊。

redhat系統下安裝流程:https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

二、配置Jenkins

1、開啟http://10.3.15.78:8080/jenkins/,第一次進入裡面沒有資料,我們需要建立job,我們這有2個專案,需要建立2個job。http://10.3.34.163:9890/jenkins/

2、點選左上角的new job,在new job頁面需要選擇job的型別,Jenkins支援幾種型別,我們選擇“構建一個maven2/3專案”,Job名為:guan_caijing,如圖所示:

image

3、點選OK按鈕後,進會進入詳細配置介面,詳細配置介面的配置項很多,不過不用怕,大部分使用預設配置就可以了,下面就說說我們需要修改的幾個地方:

3.1)Source Code Management

因為我們使用SVN管理原始碼,所以這裡選擇Subversion,並在Repository URL中輸入我們的SVN地址:

http://10.3.34.163:9880/guan_caijing/trunk/

輸入SVN庫的URL地址後,Jenkins會自動驗證地址,並給予提示。

clip_image004

點選紅色字型部分的enter credential連結,進入如下頁面:

clip_image006

設定好訪問SVN庫的使用者名稱和密碼後,點選OK按鈕,顯示:

clip_image008

說明設定成功。點選Close按鈕,返回之前的Source Code Management頁面。此時不再有紅色警告資訊了。

clip_image010

3.2)配置自動構建的計劃,假設我們想讓專案中每天12點和晚上8點自動構建一次,只需要在Build Triggers中選擇Build periodically,並在Schedule中輸入 0 12,20 * * *

我配置的是每晚8點自動構建

clip_image012

注:Schedule的配置規則是有5個空格隔開的字元組成,從左到右分別代表:分 時 天 月 年。*代表所有,0 12,20 * * * 表示“在任何年任何月任何天的12和20點0分”進行構建。

3.3)配置到這裡,可能有人發現在Build配置節點,有紅色錯誤資訊,提示

Jenkins needs to know where your Maven2 is installed. 
Please do so from the system configuration.

如圖所示:

clip_image014

這是因為Jenkins找不到maven的原因,點選"system configuration",是system configuration的maven配置中新增maven目錄就OK,如下圖:

clip_image016

我設定了JRE 6和MAVEN 3的安裝目錄。

點選左下角的SAVE按鈕,儲存設定。

3.4)儲存好所有配置後,我們第1個job就算是完成了。

3.5)建立第2個job,配置和上面的配置相同。只需把svn地址改成:http://localhost/svn/Web

三、手動構建

在經過上面的配置後,回到Jenkins首頁,在首頁可以看到剛才新增的2個job,如下圖:

clip_image018

點選某1個job後後面的"Schedule a build"圖片手動構建,點選完後,會在左邊的Build Queue或者Build Executor Status 顯示正在構建的任務,在自動構建完後,重新整理頁面,就可以看到構建結果了,如何某個專案構建失敗,點選專案後面的構建數字(從1開始遞增)進入專案的"Console Output "可以檢視專案構建失敗的原因。當然我們也可以配置把構建失敗的結果發到郵箱。

到目前為止,1個簡單的自動構建環境就搭建好了,很簡單吧。

四、自動部署

看完上面發現Jenkins配置真的很簡單,幾分鐘就搭建好自動構建環境,但環境搭建好後發現1個問題,現在是能自動構建了,但是構建好的web.war都還是在Jenkins目錄下,並沒有釋出到tomcat中,還需要手動copy過去?

這是個問題,不過別急,要達到自動部署的目的,需要安裝1個Jenkins的部署外掛。選擇“系統管理”選單的“管理外掛”:

clip_image020

選擇“可選外掛”,找到Deploy Plugin 1.8外掛,選擇它。

clip_image022

注:Deploy Plugin 1.8外掛支援Tomcat 4.x/5.x/6.x/7.x ,JBoss 3.x/4.x ,Glassfish 2.x/3.x

點選底部的“安裝”按鈕,顯示:

clip_image024

耐心等待:

clip_image026

直到Deploy Plugin完成,顯示Success:

clip_image028

選擇框打鉤,Jenkins會自動重啟:

clip_image030

此時,在外掛管理的“已安裝”Tab頁,可以看到部署外掛已安裝完畢。

clip_image032

重新進入web的configure 配置介面,在最下面會發現多處1個配置項,我們配置如下:

clip_image034

注:war file使用的是Jenkinsworkspace的相對目錄,hudon預設的目錄在:

C:\Documents and Settings\使用者名稱\.Jenkins\

workspace目錄:C:\Documents and Settings\使用者名稱\.Jenkins\ jobs\web\workspace\

最終產生的war在:C:\Documents and Settings\使用者名稱\.Jenkins\ jobs\web\workspace\Web\target\web.war

儲存配置再重新構建一次,開啟tomcat的webapps目錄,發現web.war終於過來了,大功告成。

相關文章