svn-maven-tomcat自动发布脚本

#!/bin/sh

#svn-maven-tomcat自动发布脚本
#变量设置
svnpath=svn://10.60.10.120/研发部/xx-maven
svnusername=xxx
svnpassword=xxxn888
workplace=xxepp
projname=xxepp
tomcat_server=10.60.10.161
webappsPath=/usr/local/tomcat/webapps

#环境变量设置
export JAVA_HOME=/usr/local/jdk18
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export M2_HOME=/usr/local/apache-maven-3.3.9
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

rm -fr ${workplace}

#从svn上面export代码
svn export ${svnpath} ./${workplace} --username ${svnusername} --password ${svnpassword}

#maven编译
compileSuccessFlag=0

cd ${workplace}
/usr/local/apache-maven-3.3.9/bin/mvn clean package -Dmaven.test.skip=true

if [ $? -eq 0 ]; then
compileSuccessFlag=1
echo "maven编译成功"
else
echo "maven编译失败"
fi

cd ../

#如果编译失败,直接退出

if [ ${compileSuccessFlag} -eq 0 ]; then
echo "编译失败,程序退出"
exit 1;
fi

#编译成功,war存在,则复制到tomcat目录,重启tomcat
warPath=./${workplace}/target/${projname}.war
if [ -f "${warPath}" ]; then

#删除老的war包,将新的包拷贝过去
#ssh ${tomcat_server} rm -rf ${webappsPath}/${projname}.war
ssh ${tomcat_server} find ${webappsPath}/old/ -mtime +7|xargs rm -rf
ssh ${tomcat_server} mv ${webappsPath}/${projname}.war ${webappsPath}/old/${projname}$(date +%s).war
ssh ${tomcat_server} rm -rf ${webappsPath}/${projname}
scp  ./${workplace}/target/${projname}.war  ${tomcat_server}:${webappsPath}/

#重启tomcat
echo "重启tomcat..."
ssh ${tomcat_server} 'source /root/.bash_profile;/usr/local/tomcat/bin/shutdown.sh'
sleep 3
if [ $? -eq 0 ]; then
ssh ${tomcat_server} 'source /root/.bash_profile;/usr/local/tomcat/bin/startup.sh'
sleep 6
echo "重启成功"
else
echo "tomcat启动失败"
fi

else
echo "war包不存在"
fi

备注:因maven服务器和tomcat服务器在不同的主机上,需要做公钥认证

转载于:https://www.cnblogs.com/vijayfly/p/5753851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值