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