无感知的热部署切换

cd distribution-service-sdk
mvn -s /root/maven/settings-dev.xml -gs /root/maven/settings-dev.xml deploy

#echo "kill 99jar包"
ID=`ps -ef | grep java | grep distribution-service-99 |awk '{print $2}'`
CURPROT=0
DEFULTPORT=99
for id in $ID 
do 
    CURPROT=99
    #echo "killed pid=$id" 
done

if [ $CURPROT == $DEFULTPORT ];then
   ID88=`ps -ef | grep java | grep distribution-service-88 |awk '{print $2}'`
  for id in $ID88
  do 
      echo "88与99同时运行中,杀掉88,更新88为最新版本"
     echo "killed pid=$id"
     kill -9 $id      
  done

  echo "删除88jar包 "
  rm -rf /root/newProject/services/distribution-service-88.jar
  rm -rf /root/newProject/services/distribution-service-88.log
  sleep 2
  echo "复制88jar包"
  cp -r /var/lib/jenkins/workspace/distribution-service/distribution-service-publish/target/distribution-service-publish-1.0.0-SNAPSHOT.jar /root/newProject/services
  mv /root/newProject/services/distribution-service-publish-1.0.0-SNAPSHOT.jar /root/newProject/services/distribution-service-88.jar
  echo "执行后台启动88jar包"
  export BUILD_ID=dontKillMe
  nohup java -jar /root/newProject/services/distribution-service-88.jar --spring.profiles.active=test --server.port=88 >> /root/newProject/services/distribution-service-88.log&
  tail -f /root/newProject/services/distribution-service-88.log | sed '/Tomcat started on port/ q'
  echo "处理nginx,负载到88"
  mv /usr/local/nginx/conf/host_config/distribution-service-99.conf /usr/local/nginx/conf/host_config/distribution-service-99.conf.bak
  mv /usr/local/nginx/conf/host_config/distribution-service-88.conf.bak /usr/local/nginx/conf/host_config/distribution-service-88.conf
  /usr/local/nginx/sbin/nginx -s reload
  for id in $ID 
  do 
      echo "killed pid=$id" 
    kill -9 $id
  done
  exit 0
else
  echo "删除99jar包 "
  rm -rf /root/newProject/services/distribution-service-99.jar
  rm -rf /root/newProject/services/distribution-service-99.log
  sleep 2
  echo "复制99jar包"
  cp -r /var/lib/jenkins/workspace/distribution-service/distribution-service-publish/target/distribution-service-publish-1.0.0-SNAPSHOT.jar /root/newProject/services
  mv /root/newProject/services/distribution-service-publish-1.0.0-SNAPSHOT.jar /root/newProject/services/distribution-service-99.jar
  echo "执行后台启动99jar包"
  export BUILD_ID=dontKillMe
  nohup java -jar /root/newProject/services/distribution-service-99.jar --spring.profiles.active=test --server.port=99 >> /root/newProject/services/distribution-service-99.log&
  tail -f /root/newProject/services/distribution-service-99.log | sed '/Tomcat started on port/ q'
  echo "处理nginx,负载到99"
  mv /usr/local/nginx/conf/host_config/distribution-service-88.conf /usr/local/nginx/conf/host_config/distribution-service-88.conf.bak
  mv /usr/local/nginx/conf/host_config/distribution-service-99.conf.bak /usr/local/nginx/conf/host_config/distribution-service-99.conf
  /usr/local/nginx/sbin/nginx -s reload
  ID=`ps -ef | grep java | grep distribution-service-88 |awk '{print $2}'`
  CURPROT=0
  for id in $ID 
  do 
      #CURPROT=88
      echo "killed pid=$id" 
      kill -9 $id
     
  done
sleep 5
exit 0


fi 

 

转载于:https://www.cnblogs.com/zhiji6/p/10119147.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值