Jenkins遠(yuǎn)程部署war包過(guò)程圖解
主體上看別人的腳本,然后和開(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)寫 如果你ps -ef|grep 項(xiàng)目名稱 可以帶出PID 那么可以直接寫成這樣
#之前為什么寫那么長(zhǎng) 是因?yàn)樵谟胘enkins調(diào)用腳本的時(shí)候,也會(huì)帶出jenkins調(diào)用腳本的那個(gè)進(jìn)程 這樣kill -9 就會(huì)killjenkins進(jìn)程 導(dǎo)致一建發(fā)布中斷
#所以這里一直寫到了conf文件夾目錄
#如果不需要用到j(luò)enkins可以用下面簡(jiǎn)潔版 得出PID命令
#PID=`ps -ef |grep 項(xià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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Maven POM(項(xiàng)目對(duì)象模型)
這篇文章主要介紹了Maven POM(項(xiàng)目對(duì)象模型)的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
Spring Boot集成教程之異步調(diào)用Async
在項(xiàng)目中,當(dāng)訪問(wèn)其他人的接口較慢或者做耗時(shí)任務(wù)時(shí),不想程序一直卡在耗時(shí)任務(wù)上,想程序能夠并行執(zhí)行,我們可以使用多線程來(lái)并行的處理任務(wù),也可以使用spring提供的異步處理方式@Async。需要的朋友們下面來(lái)一起看看吧。2018-03-03
Java使用AOP技術(shù)實(shí)現(xiàn)通用接口驗(yàn)簽工具
這篇文章主要為大家詳細(xì)介紹了Java如何使用AOP技術(shù)實(shí)現(xiàn)通用接口驗(yàn)簽工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下吧2025-03-03
實(shí)戰(zhàn)指南:Java編寫Flink?SQL解決難題
想知道如何利用Java編寫Flink?SQL解決難題嗎?本指南將為您揭示最實(shí)用的技巧和策略,讓您輕松應(yīng)對(duì)挑戰(zhàn),跟著我們一起探索,讓Java和Flink?SQL成為您問(wèn)題解決的得力助手!2023-12-12

