jenkins+maven+svn自動(dòng)部署和發(fā)布的詳細(xì)圖文教程
Jenkins
Jenkins是一個(gè)開(kāi)源的、可擴(kuò)展的持續(xù)集成、交付、部署的基于web界面的平臺(tái)。允許持續(xù)集成和持續(xù)交付項(xiàng)目,無(wú)論用的是什么平臺(tái),可以處理任何類(lèi)型的構(gòu)建或持續(xù)集成。
通常我們使用Jenkins主要實(shí)現(xiàn)以下功能:
持續(xù)集成指的是,頻繁地(一天多次)將代碼集成到主干。將軟件個(gè)人研發(fā)的部分向軟件整體部分交付,頻繁進(jìn)行集成以便更快地發(fā)現(xiàn)其中的錯(cuò)誤。
持續(xù)交付指的是,頻繁地將軟件的新版本,交付給質(zhì)量團(tuán)隊(duì)或者用戶(hù),以供評(píng)審。如果評(píng)審?fù)ㄟ^(guò),代碼就進(jìn)入生產(chǎn)階段。
正文開(kāi)始
博主前幾個(gè)月剛被忽悠到一家創(chuàng)業(yè)公司(主要是看上這個(gè)行業(yè)的前景),博主進(jìn)來(lái)主要的工作是java web后臺(tái)開(kāi)發(fā)和android應(yīng)用開(kāi)發(fā)。就這樣在這家公司熟悉了一個(gè)星期的業(yè)務(wù)之后,開(kāi)始維護(hù)和開(kāi)發(fā)項(xiàng)目了。有一天令我驚訝的事情發(fā)生了——我修改代碼之后提交到svn,準(zhǔn)備發(fā)布項(xiàng)目了,我就問(wèn)我們老大發(fā)布的網(wǎng)址是什么?他的回答讓我很驚訝,他說(shuō)沒(méi)網(wǎng)址(當(dāng)時(shí)不知道他是不是沒(méi)聽(tīng)懂我的意思),我就問(wèn)你們平時(shí)怎么發(fā)布web項(xiàng)目的,他的回答把我雷到了,他說(shuō)將本地編譯的class通過(guò)FileZilla替換到服務(wù)器中的tomcat容器中相應(yīng)的項(xiàng)目的對(duì)應(yīng)目錄,臥槽-有么有搞錯(cuò),我第一次遇到有這么干的(我在想多人協(xié)作開(kāi)發(fā)怎么搞啊、要是替換了class文件,但是忘記了提交svn,后面出問(wèn)題了怎么辦...),心里想完了,這都是什么技術(shù)部啊,這次被坑到這么個(gè)公司。我問(wèn)老大這么干你們沒(méi)出過(guò)問(wèn)題么?老大回答以前出過(guò)問(wèn)題,反正項(xiàng)目被他們搞得特別亂,一個(gè)項(xiàng)目有N多個(gè)備份的版本,而且不知道哪個(gè)是正確的,聽(tīng)到這話(huà)心塞。沒(méi)辦法為了防止我后面遇到類(lèi)似的問(wèn)題,只能自己來(lái)搭建jenkins環(huán)境啊,自動(dòng)部署保證svn的代碼和tomcat中的項(xiàng)目時(shí)刻對(duì)應(yīng)上。好了廢話(huà)說(shuō)的有點(diǎn)多,直接上如何部署吧
首先的在linux安裝相應(yīng)的軟件咯(jdk、jenkins、tomcat、maven),這些在本博客中就不介紹了,大家自行百度吧,本博客默認(rèn)所有的軟件都已經(jīng)安裝完了
1,在jenkins中配置maven和jdk環(huán)境
(1) 進(jìn)入配置界面--->【系統(tǒng)管理】--->【全局工具配置】
(2) 配置maven的settings.xml
(3)配置jdk
(4)配置maven
上面的步驟完成了就可以直接配置新的項(xiàng)目了
2、創(chuàng)建所要?jiǎng)?chuàng)建的項(xiàng)目
(1)新建maven項(xiàng)目
(2)點(diǎn)擊進(jìn)入項(xiàng)目配置
(3)項(xiàng)目詳細(xì)配置:General
(4)源碼管理,為了全屏能看到,我將瀏覽器縮小了
(5)構(gòu)建觸發(fā)器
(6)build
完成上述步驟,就能夠?qū)vn的項(xiàng)目進(jìn)行編譯,并且打包成war包了
接下來(lái)如何將生成的war包如何自動(dòng)復(fù)制到tomcat中(tomcat會(huì)自動(dòng)將war包解壓成相應(yīng)的項(xiàng)目)
(7)先配置tomcat/config/tomcat-user.xml中配置一個(gè)manager用戶(hù),打開(kāi)tomcat-user.xml
<role rolename="admin-gui"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="manager" password="manager" roles="manager-gui,manager-script"/> <user username="admin" password="admin" roles="admin-gui,manager-gui"/>
上述配置的admin等下需要使用到
(8)配置
好了,到了上面基本上配置完成了,當(dāng)然還可以配置的更加完善,比如構(gòu)建完成之后發(fā)送郵件、以及部署到多個(gè)服務(wù)器的tomcat中,那些就不介紹了。配置完成之后呢就可以在點(diǎn)擊構(gòu)建了
上述環(huán)境搭建成功之后呢,每次更新代碼都通過(guò)代碼比對(duì)工具,提交更新的部分到svn,然后通過(guò)點(diǎn)擊“立即構(gòu)建”來(lái)自動(dòng)構(gòu)建和發(fā)布項(xiàng)目,時(shí)刻保證svn和服務(wù)器的代碼同步。完美解決
到此這篇關(guān)于jenkins+maven+svn自動(dòng)部署和發(fā)布的詳細(xì)圖文教程的文章就介紹到這了,更多相關(guān)jenkins+maven+svn自動(dòng)部署和發(fā)布內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- jenkins+Maven從SVN上構(gòu)建項(xiàng)目的方法
- 使用Jenkins來(lái)構(gòu)建GIT+Maven項(xiàng)目的方法步驟
- Jenkins+Maven+SVN自動(dòng)化部署java項(xiàng)目
- GitLab+Jenkins+Maven+Tomcat?實(shí)現(xiàn)自動(dòng)集成、打包、部署
- 基于Jenkins+Maven+Gitea+Nexus搭建CICD環(huán)境的方式
- Jenkins配置maven項(xiàng)目之打包、部署、發(fā)布的全過(guò)程
- Jenkins+Git+Maven自動(dòng)化部署配置詳解
- Jenkins配置jdk、maven、git方式
- Docker+Jenkins+Gitee自動(dòng)化部署maven項(xiàng)目的實(shí)現(xiàn)
- Jenkins Maven pom jar打包未拉取最新包解決辦法
相關(guān)文章
Java?8?Stream?處理數(shù)據(jù)方法匯總
這篇文章主要介紹了Java?8?Stream處理數(shù)據(jù),Stream是Java?8?新引入的一個(gè)包它讓我們能用聲明式的方式處理數(shù)據(jù),Stream流式處理相較于傳統(tǒng)方法簡(jiǎn)潔高效,也便于進(jìn)行并發(fā)編程,更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章內(nèi)容2022-06-06java中Cookie被禁用后Session追蹤問(wèn)題
這篇文章主要介紹了Java中Cookie被禁用后Session追蹤問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03Java 異步線(xiàn)程監(jiān)聽(tīng)與結(jié)果回調(diào)及異常捕獲總結(jié)分析
異常是程序之中導(dǎo)致程序中斷的一種指令流,異常一旦出現(xiàn)并且沒(méi)有進(jìn)行合理處理的話(huà),那么程序就將中斷執(zhí)行,這篇文章綜合介紹了異步線(xiàn)程監(jiān)聽(tīng)與結(jié)果回調(diào)及異常捕獲2021-11-11SpringBoot實(shí)現(xiàn)自定義事件的方法詳解
這篇文章將用實(shí)例來(lái)和大家介紹一下如何在SpringBoot中自定義事件來(lái)使用觀(guān)察者模式。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)SpringBoot有一定的幫助,需要的可以參考一下2022-06-06JAVA使用DBUtils操作數(shù)據(jù)庫(kù)
這篇文章主要介紹了JAVA使用DBUtils操作數(shù)據(jù)庫(kù)的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家學(xué)習(xí)JAVA,感興趣的朋友可以了解下2020-07-07Spring security如何實(shí)現(xiàn)記錄用戶(hù)登錄時(shí)間功能
這篇文章主要介紹了Spring security如何實(shí)現(xiàn)記錄用戶(hù)登錄時(shí)間功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java異步調(diào)用轉(zhuǎn)同步方法實(shí)例詳解
這篇文章主要介紹了Java異步調(diào)用轉(zhuǎn)同步方法實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06