使用Jenkins來自動打包和部署Maven工程【持續集成】

 

目    錄

1、Jenkins全局工具配置... 1

1.1進入全局工具配置頁面... 1

1.2配置maven的settings.xml路徑... 3

1.3配置JDK路徑... 3

1.4配置GIT客戶端程序路徑【非必須】... 4

1.5配置maven 的安裝路徑... 4

1.6點擊Appy然後Save. 5

2、創建一個本地maven工程的構建項目... 5

2.1創建一個自動構建和部署的工程... 5

2.2配置源碼管理... 7

2.3配置       Build參數... 7

2.4配置Post Step. 9

2.5點擊Appy然後Save. 10

3、手工執行構建任務... 11

4、自動執行構建和部署... 14

 

1、Jenkins全局工具配置

使用Jenkins進行自動打包部署之前,需要對Jenkins做一些全局配置,例如指定本機的JDK在哪裏,Maven在哪裏,如果要用jenkins使用 git去代碼庫裏拿代碼下來,還需要指定本機的Git客戶端程序位置。本文只打算講使用jenkins構建本地已有的代碼。暫不涉及Git,因爲可以成功打包部署本地代碼,那在加一個從git或者svn獲取代碼的步驟也很簡單。

1.1進入全局工具配置頁面

首先啓動jenkins,然後登陸到jenkins首頁,點擊左側菜單“系統管理”。

如圖:

 

 

點擊系統設置:

如圖:

 

1.2配置maven的settings.xml路徑

 

1.3配置JDK路徑

點擊JDK安裝按鈕:

 

然後填寫自己的JDK路徑,如圖:

 

1.4配置GIT客戶端程序路徑【非必須】

如果打算讓jenkins使用git客戶端程序從git服務器獲取代碼,然後在進行構建的話,需要告訴jenkins你的git客戶端程序路徑。

 

 

1.5配置maven 的安裝路徑

Jenkins支持使用ant、maven、gradle來構建項目,我們這裏使用Maven來構建項目。

點擊界面上Maven選項卡下的安裝按鈕,填寫自己的Maven路徑信息,如圖:

 

1.6點擊Appy然後Save

全局設置完成後,點擊Apply,然後點擊Save

2、創建一個本地maven工程的構建項目

因爲本文的目的是演示如何用jenkins實現自動自動打包和部署,並不打算講的很全面很細,所以這裏不講如何讓Jenkins從遠程代碼庫裏獲取代碼到本地。

2.1創建一個自動構建和部署的工程

入第一章所屬,打包和構建工具有很多,比如Maven、Ant、Gradle,這裏演示使用Maven來打包和構建的項目。

點擊左側“新建”按鈕,如圖:

 

 填寫項目名稱,並且選中“構建一個Maven項目”

 

點擊左下角OK按鈕,然後就進入了maven工程的配置頁面:

2.2配置源碼管理

因爲使用的是本地maven工程,所以選擇None,如圖:

 

2.3配置 Build參數

往下找到Buid選項卡,然後點擊“高級”,如圖:

 

在Root POM處填寫自己工程的pom.xml文件名稱,我這裏填寫“pom.xml”在Goals and options處填寫自己要執行的maven命令,我這裏填寫“install”,MAVEN_OPTS處可以填寫一些JVM參數,例如可以指定對內存大小,指定maven使用的字符編碼等,我這裏使用JVM默認的內存大小,只指定字符編碼爲UTF-8,所以只填寫“-Dfile.encoding=UTF-8”。

如圖:

 

在往下,勾選上“使用自定義的工作空間”,如圖:

 

在目錄這個地方,填寫你本地的maven工程的路徑,例如我的工程路徑是F:\jenkins_workspace\springjpadatashiro如圖:

 

所以我在目錄裏填寫F:\jenkins_workspace\springjpadatashiro,如圖:

 

 

另外還需說明的是,如果你想讓jenkins在調用maven程序來構建這個工程的時候使用自定義的其他settings.xml文件,可以在下面的“Setting file”和“Global Setting file”裏做修改,因爲本文第一章那裏已經配置了全局參數,這裏我就使用默認的全局參數,不在修改了,如圖:

2.4配置Post Step

其實進行到2.2就可以點擊Appy和Save完成配置了,但是我們還可以增加一些步驟,讓jekins在打包完成後,來調用某些腳本,讓腳本把構建好的war包到某個web容器下,對web容器執行重啓,或者是將構建好的jar包拷貝到某個位置,執行這個jar包。

找到Post Step選項卡,選中“Run only if build succeds”然後點擊Add post-build step下拉框,

 

選中“Excute Windows batch commond”,並在方框內填入腳本,我這裏的往裏面填入了window系統的bat腳本,內容是:

set str=chenjie你好,jenkins已經完成了maven工程的構建任務!時間是:

set d=%date:~0,10% 

set t=%time:~0,8% 

set "log=%str%%d%%t%"

echo %log% >> F:\jenkins_workspace\springjpadatashiro\build.log

如圖:

2.5點擊Appy然後Save

點擊Apply和Save,如圖:

 

 

3、手工執行構建任務

    點擊左上角jenkins導航條,如圖:

 

在首頁上可以看到構建項目列表,如圖:

  

在上圖中點擊項目名稱,會彈出一個菜單,選擇立即構建,如圖:

進度條:

 

進度條跑完後,刷新頁面,可以看到:

 

進入到本地的maven工程裏,可以看到多了一個target目錄,這是jenkins調用maven構建項產生的,多了一個build.log日誌文件,這是構建完成後,jenkins執行我寫得bat腳本生成的:

 

Target裏的內容是:

 

build.log文件裏的內容是:

 

 

4、自動執行構建和部署

     所謂持續集成,自動構建,自動部署,那當然是不要人工操作了,好的,現在可以修改一下配置,讓jenkins每隔10分鐘構建一次(當然這裏這是演示,實際間隔自己根據需要配置)。

進入配置頁面,找到“構建觸發器”選項卡,選中“Build  preriodically”選項,在出現的文本框中填寫:0-59/10  *  *  *  *

如圖:

點擊Apply和Save即可實現每隔10分鐘自動打包部署一次。

 

從日誌文件可以看到,每隔10分鐘打包一次:

 

 

這個時間表達式的配置和Linux系統的crontab命令的時間表達式一樣的,這裏不多說了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章