Shell从git拉取代码并编译部署到tomcat

Shell从git拉取代码并编译部署到tomcat

目录结构

/data根目录
/data/deployshell脚本目录
/data/git-codegit上拉取代码的目录
/data/toolstomcat目录
/data/webappswar包目录

shell脚本

#!/bin/bash

tomcat_name="tomcat-web-hello"
# git/项目名称
git_name="web"
# 模块名称
module_name="web-hello"

#停止tomcat
function killTomcat(){
  ps -ef | grep $tomcat_name | grep -v 'grep' | awk '{print $2}' | xargs kill -9
  echo "killd tomcat "
}

function startTomcat(){
  ps -ef | grep $tomcat_name | grep -v 'grep' | awk '{print $2}' | xargs kill -9
  cd /data/tools/$tomcat_name/bin/
  nohup ./startup.sh
  echo "start tomcat end"
  tail -f /data/tools/$tomcat_name/logs/catalina.out
}

function svnmvn(){
  cd /data/git-code/$git_name
  git fetch
  if [ "$branch" != "" ]
  then
  git checkout -b $branch origin/$branch
  git checkout $branch
  fi
  git pull
  mvn clean install -Dmaven.test.skip=true
}

function deployWar(){
  dir=`date +%Y%m%d-%H%M`
  cd /data/webapps/$module_name
  rm * -rf

  cp /data/git-code/$git_name/$module_name/target/$module_name-1.0-SNAPSHOT.war /data/webapps/$module_name
  unzip $module_name-1.0-SNAPSHOT.war
}


echo -n "!!!$git_name-输入部署的分支: "
read branch

svnmvn $branch
if [ $? -eq 0 ]
then
  deployWar
  killTomcat
  sleep 2
  startTomcat
else
  echo "ERROR: mvn failed!"
fi

其他设置

进入tools目录下对应的tomcat

cd /data/tools/tomcat-web-hello/conf

设置启动参数

vim catalina.properties

最后一行添加

spring.profiles.active=prod

设置缓存

避免缓存不足报错

vim content.xml

添加<Resources cachingAllowed="true" cacheMaxSize="100000" />位于

<Context>
    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
    <Resources cachingAllowed="true" cacheMaxSize="100000" />
</Context>
设置tomcat部署路径

注:如果不设置,shell脚本中的webapps应改为 tomcat下的webapps路径

vim server.xml

添加<Context path="/" docBase="/data/webapps/web-hello" debug="0"/>位于

<Host name="localhost"  appBase="webapps" 
	unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
    Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
    Documentation at: /docs/config/valve.html
    Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    prefix="localhost_access_log" suffix=".txt"
    pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    <Context path="/" docBase="/data/webapps/web-hello" debug="0"/>
</Host>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值