zoukankan      html  css  js  c++  java
  • linux 服务发布脚本升级,远程发布,指定拉取远程dev,test等分支代码

    1.本地发布脚本 publish.sh

    #!/bin/sh
    currentDay=`date +%Y%m%d`
    currentTime=`date +%Y%m%d%H%M%S`
    tomcat1=/data/app/tomcat-contract
    confDir=/root/sh/config
    svnDir=/data/app/git/contract
    #echo ">>>>>>>>>>>>>>>>>>>>>>>>备份版本"
    #mkdir -p /data/app/tomcat-contract/backup/$currentDay
    #cp $svnDir/Bonade-Contract-Service/target/Bonade-Contract-Service.war /data/app/tomcat-contract/backup/20190109/"Bonade-Contract-Service_$currentTime".war
    #cp $svnDir/Bonade-Contract-Web/target/Bonade-Contract-Web.war /data/app/tomcat-contract/backup/20190109/"Bonade-Contract-Web_$currentTime".war
    echo ">>>>>>>>>>>>>>>>>>>>>>>>更新代码"
    cd $svnDir
    git fetch origin dev
    git checkout dev
    git pull
    sleep 10s
    echo ">>>>>>>>>>>>>>>>>>>>>>>>编译打包"
    mvn -U clean install -DskipTests -X
    #mvn -u clean install
    #sleep 120s
    echo ">>>>>>>>>>>>>>>>>>>>>>>>停止tomcat1"
    kill -9 `cat /data/app/tomcat-contract/temp/contract.pid`
    #sleep 5s
    echo ">>>>>>>>>>>>>>>>>>>>>>>>删除tomcat1下的文件"
    rm -rf $tomcat1/webapps/*
    echo ">>>>>>>>>>>>>>>>>>>>>>>>发布tomcat1"
    unzip $svnDir/Bonade-Contract-Service/target/Bonade-Contract-Service.war -d $tomcat1/webapps/Bonade-Contract-Service
    unzip $svnDir/Bonade-Contract-Web/target/Bonade-Contract-Web.war -d $tomcat1/webapps/Bonade-Contract-Web
    #清除多余的日志包
    rm -f $tomcat1/webapps/Bonade-Contract-Service/WEB-INF/lib/slf4j-log4j12-1.7.5.jar
    echo "copy 配置文件"
    mkdir $tomcat1/webapps/Bonade-Contract-Web/WEB-INF/classes/config
    cp -rf $confDir/system.properties $tomcat1/webapps/Bonade-Contract-Web/WEB-INF/classes/config
    cp -rf $confDir/system.properties $tomcat1/webapps/Bonade-Contract-Service/WEB-INF/classes/config
    cp -rf $confDir/jdbc.properties $tomcat1/webapps/Bonade-Contract-Service/WEB-INF/classes/config
    #sleep 20s
    echo "启动服务"
    sh $tomcat1/bin/startup.sh
    

      

    2.远程发布

    #sftp上传应用包
    sftp root@ip地址 << !
    echo 上传service
    put /data/app/git/contract/Bonade-Contract-Service/target/Bonade-Contract-Service.war /data/app/tomcat-contract/backup/
    echo 上传web
    put /data/app/git/contract/Bonade-Contract-Web/target/Bonade-Contract-Web.war /data/app/tomcat-contract/backup/
    echo 上传结束
    ! #远程shell脚本执行发布 echo 执行发布 ssh root@129.204.115.46 "sh ~/sh/publish.sh" echo 发布完成

    3.可以修改上面git 拉取分支,将分支参数化 ,这里如果改成在windows下使用doc命令传参就用 %1 获取参数。

    git fetch origin $1
    git checkout $1
    git pull
    

      执行  sh publish.sh dev 即可拉取dev分支, sh publish.sh test 拉取test分支

    sh publish.sh dev
    

      

  • 相关阅读:
    实验三 进程调度模拟程序
    实验二作业调度模拟程序
    最新广商小助手 项目进展 OpenGL ES 3D在我项目中引用 代码太多只好选重要部分出来
    最后冲刺 我的项目 广商小助手
    最新一课 老师指点用Listview适配器
    安卓小学生四则运算
    大三上学期安卓一边学一边开始做一个自己觉得可以的项目 广商小助手App 加油
    我要再接再力 学更多
    用场景来规划测试工作
    阅读第13,14,15,16,17章
  • 原文地址:https://www.cnblogs.com/yun965861480/p/10281255.html
Copyright © 2011-2022 走看看