jenkins+maven+svn自動(dòng)部署和發(fā)布的詳細(xì)圖文教程
Jenkins
Jenkins是一個(gè)開源的、可擴(kuò)展的持續(xù)集成、交付、部署的基于web界面的平臺(tái)。允許持續(xù)集成和持續(xù)交付項(xiàng)目,無論用的是什么平臺(tái),可以處理任何類型的構(gòu)建或持續(xù)集成。
通常我們使用Jenkins主要實(shí)現(xiàn)以下功能:
持續(xù)集成指的是,頻繁地(一天多次)將代碼集成到主干。將軟件個(gè)人研發(fā)的部分向軟件整體部分交付,頻繁進(jìn)行集成以便更快地發(fā)現(xiàn)其中的錯(cuò)誤。
持續(xù)交付指的是,頻繁地將軟件的新版本,交付給質(zhì)量團(tuán)隊(duì)或者用戶,以供評(píng)審。如果評(píng)審?fù)ㄟ^,代碼就進(jìn)入生產(chǎn)階段。
正文開始
博主前幾個(gè)月剛被忽悠到一家創(chuàng)業(yè)公司(主要是看上這個(gè)行業(yè)的前景),博主進(jìn)來主要的工作是java web后臺(tái)開發(fā)和android應(yīng)用開發(fā)。就這樣在這家公司熟悉了一個(gè)星期的業(yè)務(wù)之后,開始維護(hù)和開發(fā)項(xiàng)目了。有一天令我驚訝的事情發(fā)生了——我修改代碼之后提交到svn,準(zhǔn)備發(fā)布項(xiàng)目了,我就問我們老大發(fā)布的網(wǎng)址是什么?他的回答讓我很驚訝,他說沒網(wǎng)址(當(dāng)時(shí)不知道他是不是沒聽懂我的意思),我就問你們平時(shí)怎么發(fā)布web項(xiàng)目的,他的回答把我雷到了,他說將本地編譯的class通過FileZilla替換到服務(wù)器中的tomcat容器中相應(yīng)的項(xiàng)目的對應(yīng)目錄,臥槽-有么有搞錯(cuò),我第一次遇到有這么干的(我在想多人協(xié)作開發(fā)怎么搞啊、要是替換了class文件,但是忘記了提交svn,后面出問題了怎么辦...),心里想完了,這都是什么技術(shù)部啊,這次被坑到這么個(gè)公司。我問老大這么干你們沒出過問題么?老大回答以前出過問題,反正項(xiàng)目被他們搞得特別亂,一個(gè)項(xiàng)目有N多個(gè)備份的版本,而且不知道哪個(gè)是正確的,聽到這話心塞。沒辦法為了防止我后面遇到類似的問題,只能自己來搭建jenkins環(huán)境啊,自動(dòng)部署保證svn的代碼和tomcat中的項(xiàng)目時(shí)刻對應(yīng)上。好了廢話說的有點(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包了
接下來如何將生成的war包如何自動(dòng)復(fù)制到tomcat中(tomcat會(huì)自動(dòng)將war包解壓成相應(yīng)的項(xiàng)目)
(7)先配置tomcat/config/tomcat-user.xml中配置一個(gè)manager用戶,打開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)境搭建成功之后呢,每次更新代碼都通過代碼比對工具,提交更新的部分到svn,然后通過點(diǎn)擊“立即構(gòu)建”來自動(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- jenkins+Maven從SVN上構(gòu)建項(xiàng)目的方法
- 使用Jenkins來構(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ā)布的全過程
- 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)方法簡潔高效,也便于進(jìn)行并發(fā)編程,更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章內(nèi)容2022-06-06
Java 異步線程監(jiān)聽與結(jié)果回調(diào)及異常捕獲總結(jié)分析
異常是程序之中導(dǎo)致程序中斷的一種指令流,異常一旦出現(xiàn)并且沒有進(jìn)行合理處理的話,那么程序就將中斷執(zhí)行,這篇文章綜合介紹了異步線程監(jiān)聽與結(jié)果回調(diào)及異常捕獲2021-11-11
SpringBoot實(shí)現(xiàn)自定義事件的方法詳解
這篇文章將用實(shí)例來和大家介紹一下如何在SpringBoot中自定義事件來使用觀察者模式。文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)SpringBoot有一定的幫助,需要的可以參考一下2022-06-06
Spring security如何實(shí)現(xiàn)記錄用戶登錄時(shí)間功能
這篇文章主要介紹了Spring security如何實(shí)現(xiàn)記錄用戶登錄時(shí)間功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Java異步調(diào)用轉(zhuǎn)同步方法實(shí)例詳解
這篇文章主要介紹了Java異步調(diào)用轉(zhuǎn)同步方法實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

