這篇文章主要為大家展示了Jenkins如何遠(yuǎn)程部署war包,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。
創(chuàng)新互聯(lián)建站-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比大埔網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式大埔網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大埔地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。
主體上看別人的腳本,然后和開(kāi)發(fā)協(xié)商,做出符合自己的生產(chǎn)腳本................................
腳本一:
#!/bin/bash DATE=`date +%F-%H-%M` PROJECT='HBKeNong-1.0-SNAPSHOT' PROJECT_TARGET='HBKeNong' ROOTDIR='/usr/local' TOMCAT_HOME='/usr/local/test-tomcat-01' #停止tomcat服務(wù) echo '停止test-tomcat-01' sh ${TOMCAT_HOME}/bin/shutdown.sh ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep| awk '{print $2}' | xargs kill -9 cp ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${ROOTDIR}/test_war_backup/test-${PROJECT}-${DATE}.war rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET} mv ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war #啟動(dòng)tomcat服務(wù) echo '啟動(dòng)test-tomcat-01' sh ${TOMCAT_HOME}/bin/startup.sh
腳本二:
#這里需要加上JAVA_HOME的配置,雖然在本地的環(huán)境變量中已經(jīng)配置了,但是遠(yuǎn)程調(diào)用的時(shí)候,還是需要配上的,否則執(zhí)行腳本出錯(cuò)。 export JAVA_HOME=$HOME/java/jdk1.8.0_171 tomcat_home=/home/fangjl/tomcat/apache-tomcat-7.0.88 #【3.1】 停止tomcat變量 SHUTDOWN=$tomcat_home/bin/shutdown.sh #【3.2】 啟動(dòng)tomcat變量 STARTTOMCAT=$tomcat_home/bin/startup.sh #【3.3】 刪除項(xiàng)目文件 如果是局部發(fā)布這句不需要 這只是正對(duì)jenkins整個(gè)war發(fā)布 rm -rf /home/fangjl/tomcat/apache-tomcat-7.0.88/webapps/report* #得到進(jìn)程ID 這里也可以簡(jiǎn)寫(xiě) 如果你ps -ef|grep 項(xiàng)目名稱(chēng) 可以帶出PID 那么可以直接寫(xiě)成這樣 #之前為什么寫(xiě)那么長(zhǎng) 是因?yàn)樵谟胘enkins調(diào)用腳本的時(shí)候,也會(huì)帶出jenkins調(diào)用腳本的那個(gè)進(jìn)程 這樣kill -9 就會(huì)killjenkins進(jìn)程 導(dǎo)致一建發(fā)布中斷 #所以這里一直寫(xiě)到了conf文件夾目錄 #如果不需要用到j(luò)enkins可以用下面簡(jiǎn)潔版 得出PID命令 #PID=`ps -ef |grep 項(xiàng)目名稱(chēng) |grep -v grep | awk '{print $2}'` #【3.4】 獲取進(jìn)程ID PID=`ps -ef |grep /home/fangjl/tomcat/apache-tomcat-7.0.88/conf |grep -v grep | awk '{print $2}'` if [ ! "$PID" ];then # 這里判斷TOMCAT進(jìn)程是否存在 echo "進(jìn)程不存在" else echo "進(jìn)程存在 殺死進(jìn)程PID$PID" kill -9 $PID fi #【3.5】啟動(dòng)項(xiàng)目 $STARTTOMCAT
自己創(chuàng)建一個(gè)工程項(xiàng)目:
步驟如下
設(shè)置git
設(shè)置mvn
自己在生產(chǎn)環(huán)境使用的腳本
#!/bin/sh #執(zhí)行shell腳本 scp -r /var/lib/jenkins/workspace/onXXXXm/member/target/XX.war 47.XX.XX.182:/home/XX.war #到目標(biāo)服務(wù)器47.XX.XX.182推送正式XX.war包服務(wù)(執(zhí)行下面腳本即可) ssh root@47.XX.XX.182 /home/wallet_start.sh
啟動(dòng)腳本:
[root@iZj6c6g9pt4wd4xt1xi69zZ home]# cat wallet_start.sh #!/bin/bash DATE=`date +%F-%H-%M` PROJECT_TARGET='wallet' BACKUP_DIR='/backup' TOMCAT_HOME='/home/cat_wallet' #停止tomcat服務(wù) echo '開(kāi)始正式更新,祝您一次性更新成功.......................' echo '停止wallet測(cè)試項(xiàng)目' sh ${TOMCAT_HOME}/bin/shutdown.sh ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep| awk '{print $2}' | xargs kill -9 echo '正在備份war包' cp ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war ${BACKUP_DIR}/cat${PROJECT}-${DATE}.war echo '正在刪除原始war包信息' rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET} echo '將war包移動(dòng)到項(xiàng)目目錄' mv /home/${PROJECT_TARGET}.war ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war #啟動(dòng)tomcat服務(wù) echo '啟動(dòng)wallet項(xiàng)目' sh ${TOMCAT_HOME}/bin/startup.sh
以上就是關(guān)于Jenkins如何遠(yuǎn)程部署war包的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。