Java配置maven+jenkins+git(svn)+tomcat自動編譯和部署(持續(xù)集成)

目的

在開發(fā)中料皇,需要經(jīng)常頻繁的對測試服務(wù)器進行部署,而且在多人協(xié)同中開發(fā)經(jīng)常遇到的問題就是別人更新了他的代碼星压,而你去更新你的代碼時并沒有更新到別人的代碼践剂,導(dǎo)致測試環(huán)境的代碼不是最新,當然這個問題也好解決娜膘,那就是每次更新的時候先獲取版本控制器上面的代碼逊脯,然后更新,當然每次這樣操作都是耗時耗力的竣贪,如果是整個項目更新军洼,一般項目至少3巩螃、40M上傳到服務(wù)器也需要一定的時間,而部分更新匕争,也需要找到指定的文件或者整個代碼覆蓋牺六,然后重啟服務(wù)器(Tomcat里面直接覆蓋class雖然可以配置熱加載,但是容易內(nèi)存溢出)汗捡,就我工作中的情況而言淑际,是每次都需要先把代碼上傳到服務(wù)器-解壓-找到Tomcat進程id(Linux)-kill線程-啟動Tomcat,每次下來就需要最少幾分鐘時間扇住,而且每天有可能多次部署春缕,所以對整個工作效率是有一定影響的。正是因為以上種種艘蹋,所以才有了本文锄贼,而本文最終的結(jié)果就是一旦代碼上傳到git或者svn的時候,代碼能自動部署到服務(wù)器上面去女阀,這樣我們就只需要吧正確的代碼提交的版本控制器宅荤,就不用理會服務(wù)器的更新了

jenkins部署

Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺浸策,使軟件的持續(xù)集成變成可能
Jenkins是基于Java開發(fā)的一種持續(xù)集成工具冯键,用于監(jiān)控持續(xù)重復(fù)的工作,功能包括:
1庸汗、持續(xù)的軟件版本發(fā)布/測試項目惫确。
2、監(jiān)控外部調(diào)用執(zhí)行的工作蚯舱。
(來自百度百科)

Jenkins能做的東西有很多改化,不過本文只介紹一個簡單的自動編譯打包部署,首先下載Jenkins枉昏,推薦下載war包陈肛,下載地址:
下載主頁

war包下載

本文是基于war環(huán)境部署的,把下載好的war文件直接放到Tomcat中兄裂,然后啟動Tomcat句旱,啟動成功后訪問tomcat的jenkins項目如:

http://localhost:8080/jenkins會看到以下界面

jenkins界面

注意紅色框中的紅色文字,那個是初始密碼的路徑懦窘,直接根據(jù)路徑找到initialAdminPassword文件并打開前翎,吧密碼復(fù)制出來稚配,輸入到頁面中點擊continue按鈕畅涂,進入下一步:
選擇安裝界面

Jenkins擁有很多插件,一般在開始我們并不清楚需要什么插件的時候道川,可以選擇自定義安裝午衰,把所有基本的插件全部安裝好立宜,此頁面第一個按鈕是安裝推薦插件,第二個是自己選擇安裝臊岸,這里我選擇第二個按鈕

此界面是初始化安裝插件的界面橙数,先選擇All插件,然后點擊install
在這個界面需要多等一下帅戒,因為是在網(wǎng)上下載插件灯帮,而且是外國的網(wǎng)站,所以經(jīng)常有下載失敗的情況逻住,最好打開VPN钟哥,當所有插件安裝完成后會有continue按鈕出現(xiàn),如果沒有則刷新一下頁面瞎访,當然也可能存在有插件安裝失敗腻贰,根據(jù)自己是否需要自行選擇retry或continue,這里因為我的都已經(jīng)安裝完成了扒秸,所以進入到了下一個頁面
在此頁面設(shè)置用戶名和密碼播演,記得點擊save and finish按鈕,如果選擇了Continue as admin伴奥,會把用戶名重置admin写烤,然后密碼也是你設(shè)置的密碼,而是初始化文件中的密碼拾徙,設(shè)置完成之后的頁面

再次點擊save and Finish即可

Jenkins主界面


Jenkins主界面

配置Jenkins

創(chuàng)建項目之前先要對Jenkins進行基本的配置顶霞,比如jdk的目錄,git命令的目錄和maven的目錄等等

首先點擊系統(tǒng)管理


點擊系統(tǒng)管理

進入管理頁面后如圖:


配置管理頁面

點擊Global Tool Configuration進入插件配置頁面
配置jdk
配置jdk

點擊新增JDK按鈕锣吼,會顯示jdk配置form选浑,如果電腦上已經(jīng)安裝了jdk則可以去掉自動安裝,不過如果是用Tomcat運行的Jenkins那么是肯定已經(jīng)安裝了的玄叠,這里我們只需要配置好jdk別名和JAVA_HOME即可


配置git
配置git

需要將git.exe的正確路徑配置到Path to Git executable中(注意Linux沒有exe后綴)

配置maven
配置maven

跟jdk相同古徒,配置好名字和路徑即可,當然也可以選擇自動安裝读恃,不過還是推薦手動安裝然后配置隧膘,配置好了之后點擊save即可

安裝插件

由于新版默認沒有將war部署到Tomcat的插件,所以需要手動安裝寺惫,在系統(tǒng)管理中選擇管理插件疹吃,再選擇可選插件,搜索Deploy to container Plugin西雀,然后勾選點擊直接安裝

創(chuàng)建Jenkins任務(wù)

點擊開始創(chuàng)建一個新任務(wù)進入任務(wù)創(chuàng)建頁面


創(chuàng)建項目頁面

先輸入項目名字萨驶,然后選擇構(gòu)建一個maven項目,最后點擊ok按鈕

選擇版本控制器

頁面中找到源碼管理模塊艇肴,根據(jù)項目使用的版本控制器選擇腔呜,如我們使用的git叁温,則選擇git


選擇構(gòu)建觸發(fā)器

如果是git的話,可以直接通過GitLab(WebHooks)來實現(xiàn)觸發(fā)核畴,這樣你每次提交到配置編譯的分支就會git就會通知膝但,不過目前我知道的是git.oschina.net的鉤子沒有作用,當然如果不是git或者鉤子沒有作用的時候谤草,可以用最簡單的跟束,定時查詢


這樣是每10分鐘查詢一次,如果有更新就構(gòu)建丑孩,具體Poll SCM的參數(shù)可以百度泳炉,那里更加詳細

配置編譯命令

編譯命令我們可以直接配置最簡單的命令編譯



選擇Execute shell,在出來的界面中配置maven命令就行了嚎杨,比如

mvn install
配置部署到Tomcat

點擊新增構(gòu)建后操作花鹅,選擇Deploy war/ear to a container,然后配置WAR/EAR files枫浙,這個war的地址刨肃,一般都target/xxx.war,xxx是war的文件名

然后點擊Add Container箩帚,添加Tomcat服務(wù)器



配置好Tomcat的管理員用戶和密碼以及Tomcat的訪問地址就ok了真友,這樣只要你上傳了代碼,并且是配置編譯的分支紧帕,一般過幾分鐘就會自動編譯然后部署到Tomcat中了盔然,當然最好還是用git,然后通過GitLab實現(xiàn),這樣不僅不用每隔幾分鐘查詢一次是嗜,而且延遲很小

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愈案,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鹅搪,更是在濱河造成了極大的恐慌站绪,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丽柿,死亡現(xiàn)場離奇詭異恢准,居然都是意外死亡,警方通過查閱死者的電腦和手機甫题,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門馁筐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坠非,你說我怎么就攤上這事敏沉。” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵赦抖,是天一觀的道長舱卡。 經(jīng)常有香客問我辅肾,道長队萤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任矫钓,我火速辦了婚禮要尔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘新娜。我一直安慰自己赵辕,他們只是感情好,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布概龄。 她就那樣靜靜地躺著还惠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪私杜。 梳的紋絲不亂的頭發(fā)上蚕键,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機與錄音衰粹,去河邊找鬼锣光。 笑死,一個胖子當著我的面吹牛铝耻,可吹牛的內(nèi)容都是我干的誊爹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼瓢捉,長吁一口氣:“原來是場噩夢啊……” “哼频丘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起泡态,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤椎镣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后兽赁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體状答,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片术唬。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡睦裳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锣笨,到底是詐尸還是另有隱情亿眠,我是刑警寧澤且蓬,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布蜡娶,位于F島的核電站混卵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏窖张。R本人自食惡果不足惜幕随,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宿接。 院中可真熱鬧赘淮,春花似錦、人聲如沸睦霎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽副女。三九已至蛤高,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碑幅,已是汗流浹背戴陡。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留枕赵,地道東北人猜欺。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像拷窜,于是被迫代替她去往敵國和親开皿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容