jenkins脚本-war包脚本

脚本1:(这个脚本路径被我处理了一下,用的时候自己修改下;start.sh 无非就是个启动tomcat的脚本)

#!/bin/bash
#deploy war to tomcat
#by fencatn
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64
TOMCAT_PID=`/usr/sbin/lsof -n -P -t -i :8081`
TOMCAT_DIR="/usr/share/tomcat/webapps/"
FILES="files.war"
DES_DIR="/des_dir/"
DES_URL="des_url"
BAK_DIR="/data/backup/`date +%Y%m%d-%H%M`"
[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
cd $DES_DIR
rm -rf $FILES
mkdir -p $BAK_DIR;\cp -a $DES_DIR/* $BAK_DIR/
rm -rf $DES_DIR/*
wget $DES_URL/$FILES
${JAVA_HOME}/bin/java  -xvf  $FILES
####################
cd $TOMCAT_DIR;rm -rf work
/bin/sh $TOMCAT_DIR/bin/start.sh
sleep 10
tail -n 50 $TOMCAT_DIR/logs/nohup.out

 

脚本2:(定义newwarfil是为了把传上来的包重新命名成一个统一的名字,方便管理,你自己看着办)

#!/bin/bash
#deploy war to tomcat
#by fencatn
warfile=files.war
newwarfile=root.war
pidlist=`ps -ef|grep tomcat|grep -v "grep"|awk '{print $2}'`
DATE=$(date +%Y%m%d%H%M%S)
function stop(){
if [ "$pidlist" == "" ]
then
echo "----tomcat已经关闭----" 
else
echo "旧的tomcat 进程号 :$pidlist"
kill -9 $pidlist
echo "KILL $pidlist:"
fi
}
stop

#确认一下pid是否成功杀掉
pidlist2=`ps -ef|grep tomcat|grep -v "grep"|awk '{print $2}'`
if [ "$pidlist2" == "" ]
then 
echo "----关闭旧的tomcat成功----"
else
echo "----关闭旧的tomcat失败----"
fi

mv /usr/share/tomcat/webapps/$warfile /usr/local/project/$DATE.$warfile.bak
rm -r -f /usr/share/tomcat/webapps/*
sleep 3s
cp -r /usr/local/project/$warfile /usr/share/tomcat/webapps/
mv /usr/share/tomcat/webapps/$warfile /usr/share/tomcat/webapps/$newwarfile
/usr/sbin/tomcat start

#最后确认一下新的pid
pidlist3=`ps -ef|grep tomcat|grep -v "grep"|awk '{print $2}'`
if [ "$pidlist3" == "" ]
then 
echo "----启动新的tomcat失败----"
else
echo "----新的tomcat的进程号是:$pidlist3----"
fi

 

脚本3:(先占个座)

 

此条目发表在jenkins分类目录,贴了标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注