git maven 一键部署_Jenkins实现一键部署maven项目
git插件安裝
進(jìn)入菜單"jenkins>系統(tǒng)管理>管理插件>可選插件",在右側(cè)搜索欄輸入"Git Plugin",也可以搜索安裝"GitHub plugin"或"SVN Publisher plugin"
但事實(shí)上我下載安裝時(shí)一直報(bào)錯(cuò)
java.io.IOException: Could not find JSON in http://updates.jenkins-ci.org/update-center.json?id=default&version=2.16
下載到hpi文件到j(luò)enkins主目錄下的plugins,同時(shí)要下載依賴插件,例如git plugin依賴bouncycastle-api和git client(在控制臺(tái)安裝失敗時(shí),可以看到要安裝的依賴插件),才能安裝成功。
$ cd /var/lib/jenkins/plugins
$ wget http://mirror.xmission.com/jenkins/plugins/git/latest/git.hpi
然后重啟jenkins,登錄jenkins,進(jìn)入“jenkins>系統(tǒng)管理>管理插件>已安裝”,可以看到Git plugin已成功安裝。再重新進(jìn)test-build-job配置,源碼管理已經(jīng)出來(lái)git。最后回到plugins目錄把.hpi文件刪除。
接下來(lái)將jenkins master的公鑰添加到git服務(wù)器上,公鑰在/var/lib/jenkins/.ssh/id_rsa.pub,生成公鑰可參考Jenkins slave節(jié)點(diǎn)機(jī)器配置
創(chuàng)建連接git的credentials,創(chuàng)建請(qǐng)參考Jenkins控制臺(tái)slave配置
maven安裝配置
接下來(lái)安裝maven
$ cd /usr/local
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
解壓
$ tar -zvxf apache-maven-3.3.9-bin.tar.gz
進(jìn)入菜單“jenkins>新建”
配置jdk和maven settings.xml路徑
創(chuàng)建一個(gè)在java master上用maven打包項(xiàng)目的job
進(jìn)入菜單“jenkins>新建>構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目”
進(jìn)入配置,根據(jù)情況配置歷史構(gòu)建保存的天數(shù)和個(gè)數(shù),指定jdk以及執(zhí)行該job的機(jī)器,這里指定了master
git配置,填寫git項(xiàng)目地址和上一節(jié)提到的credentials,我要部置的項(xiàng)目分支是master
maven配置,以及maven構(gòu)建完成后,執(zhí)行腳本將war包放到目錄/var/lib/jenkins/userContent,插件Copy To Slave Plugin會(huì)從該目錄下載war包到slave
腳本還包含一個(gè)備份功能,將userContent下的war包名稱添加日期后綴進(jìn)行重命名,同時(shí)檢查war包個(gè)數(shù),超過(guò)10個(gè)時(shí)刪除最舊的那個(gè)
最后在構(gòu)建完成后,配置要觸發(fā)的另一個(gè)job,這個(gè)job用來(lái)下載master機(jī)器的war包到和個(gè)slave節(jié)點(diǎn),并執(zhí)行tomcat重啟。同時(shí)指定構(gòu)建失敗后要發(fā)送郵件的郵箱,以空格隔開(kāi)
第一個(gè)job完成
創(chuàng)建下載war包到slave節(jié)點(diǎn)并完成tomcat重啟的job
進(jìn)入菜單“jenkins>新建”,選擇構(gòu)建一個(gè)多配置項(xiàng)目
進(jìn)入配置,general和上一個(gè)job類似
配置需要部署的slave節(jié)點(diǎn)
指定下載war包的目錄,這塊需要先安裝插件copy-to-slave
下載完成后,執(zhí)行發(fā)布腳本。先從工作空間取出war包到tomcat的war存放目錄,我這里配置的是/www/web,同時(shí)做一個(gè)備份。然后先關(guān)閉tomcat,保證殺死tomcat進(jìn)程,然后刪除tomcat root目錄,再啟動(dòng)tomcat
最后同樣可以配置job執(zhí)行失敗的郵件通知
郵件通知配置
需要先安裝插件Email Extension Plugin,進(jìn)入菜單“jenkins>系統(tǒng)管理>系統(tǒng)設(shè)置>郵件通知>高級(jí)”,設(shè)置用于發(fā)送郵件的郵箱和密碼
整過(guò)部置過(guò)程結(jié)束
注意點(diǎn)
部署過(guò)程涉及到的文件和程序都應(yīng)該為jenkins用戶所擁有或者有相關(guān)權(quán)限,不然會(huì)報(bào)權(quán)限錯(cuò)誤;
slave 80端口只能由root占用,所以這里tomcat用8080啟動(dòng),然后在root安裝nginx,將請(qǐng)求轉(zhuǎn)發(fā)到8080,后續(xù)有時(shí)間再寫寫相關(guān)實(shí)踐。
總結(jié)
以上是生活随笔為你收集整理的git maven 一键部署_Jenkins实现一键部署maven项目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 卷积滤波 英文_《信号与系统》专业术语中
- 下一篇: 正则表达式发明者_正则表达式 – 简介