两步搞定tomcat的subversion (svn) 版本发布

tomcat版本发布

第一步:初始化svn(复制版本副本到本地)

cd /data/tomcat_svn/ (指定svn工作路径,自建)
svn co http://ip/JmsRefund (后面加路径,就是指定项目路径)

#按提示输入用户和密码

第二步:更新和发布

cd /data/tomcat_svn/JmsRefund (后面的JmsRefund为项目路径)
svn up (将代码更新到本地)
cd /date/bin/ (脚本放到自定目录)
sh update_JmsRefund.sh (更新和发布)

tomcat版本发布完成!!!

以下为update_JmsRefund.sh的脚本(如果创建新项目跟着“改”字地方更改。注意: mvn、jar 命令要有,如没有请看最下面)

主要实现:生成war包并移到$backupdir目录中,过滤代码版本;关闭tomcat,把war文件移到指定路径中,解压,启动tomcat)

vim update_JmsRefund.sh

#!/bin/bash
DT=`date +%Y%m%d%H%M%S`
project_name=JmsRefund                       #改:项目路径
workdir=/data/tomcat_svn/${project_name}     #改:svn路径
logdir=/data/logs/
backupdir=/data/files/
application_path=/data/sites/${project_name} #改:tomcat指定目录,修改指定目录在下面
build_file=${project_name}-${DT}.war

if [ ! -d "$logdir" ]; then
   mkdir -p “$logdir”
fi
if [ ! -d "$backupdir" ]; then
   mkdir -p “$backupdir”
fi
if [ ! -d "$application_path" ]; then
   mkdir -p “$application_path”
fi

cd $workdir
svn_ver=`svn up|grep 'revision'| grep -Eo '[0-9]+'`  #过滤版本

mvn clean install -Pat_test  -B -Dmaven.test.skip=true -DskipTests > ${logdir}/${project_name}.log    #下载war包
build_status=`cat ${logdir}/${project_name}.log | grep "BUILD SUCCESS" | wc -l`
if [ ${build_status} -eq 1 ]; then                 #如果成功就移动war包和把版本号写入日志
    cd ${workdir}/target
    mv ${project_name}.war ${backupdir}/${build_file}
    echo "${build_file} ==> build from SVN code version ${svn_ver}." >> ${logdir}/build.log
else
    exit 1
fi

cd ${backupdir}
if [ -f "${build_file}" ]; then     #如果有war包就关闭tomcat,移动war包到工作目录,启动tomcat
    ps aux | grep 'tomcat2' | grep -v grep | awk '{ print $2 }'| xargs kill -9

cd /data/sites
mv $project_name ${project_name}.${DT}
mkdir $project_name

cp -a ${backupdir}/${build_file} ${application_path}/
cd ${application_path}
jar -xvf ${build_file}
/usr/local/tomcat2/bin/startup.sh   #启动tomcat程序
else
    exit 1
fi
#显示tomcat的pid和版本
state=`cat /data/logs/tomcat/transaction.log |tail -1 | awk '{print $10}'`
svn_version=`cat /data/logs/build/build.log |tail -1`
tomcat_pid=`ps aux | grep 'tomcat' | grep -v grep | awk '{ print $2 }'`
if [ ${state} == "successfully" ];then
  echo -e "\033[1;32mtomcat_pid:${tomcat_pid}\033[0m"
  echo "${svn_version}"
else
  echo "transaction update failed"
fi

添加tomcat读取war包指定目录

vim /etc/tomcat/server.xml 或是目录 /usr/local/tomcat/conf/server.xml

140     <Context path="" docBase="/data/sites/transaction" debug="1" reloadable="true" allowLinking="true" />

一般yum源有提供maven包,如果版本要求需要到官网下载

yum install -y maven

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值