• Spring Boot 应用 快速发布到linux服务器的脚本代码示例


    前提说明:
    spring boot 应用打包成jar包之后要部署到Linux服务器上面运行,
    我用的nohup java -jar 命令,但是代码更新之后重新部署的时候覆盖原来的项目,又要手动运行
    ps -ef|grep jar包名 去查找进程,然后kill -9  去kill进程,有时候nohup进程老是kill不掉,只能多试几次,烦不胜烦。
    .后来专门花时间研究了一下脚本和本地window上传文件到linux服务器的命令,
    整合了一个启动脚本,顿时项目部署变得无比简单,一分钟内在线上的代码就可以更新了。下面是具体步骤:

    #!/bin/sh

    RESOURCE_NAME=zhgj-0.0.1-SNAPSHOT.jar

    cd /home/workspace/zhgj3.0/

    git pull 

    mvn clean package

    cd /opt/atlassian/zhgj_3.0/

    tpid=`ps -ef|grep $RESOURCE_NAME |grep -v grep|grep -v kill|awk '{print $2}'`

    kill -9 ${tpid}
     
    rm -f tpid

    ###备份文件
    currenttime=$(date +%Y%m%d%H%M%S)

    cp $RESOURCE_NAME ./backup/$currenttime.jar

    rm -rf $RESOURCE_NAME

    cp /home/workspace/zhgj3.0/target/zhgj-0.0.1-SNAPSHOT.jar /opt/atlassian/zhgj_3.0/

    nohup java -jar $RESOURCE_NAME --spring.profiles.active=test > zhgj3_0.log  2>&1 & 

    sleep 3

    echo $! > tpid
    echo Start Success!

    第二步, 脚本运行   

    cd /home (我是把jar包和脚本放在home下面)

    chmod +x start.sh (第一次运行的时候获取一下超级管理员权限)

    然后以后每次运行直接

    ./start.sh 即可

  • 相关阅读:
    .Net 平台下的互联网架构新思考
    图形化机构树静态页面
    互联网应用架构谈
    解决android调用IIS Express中的WCF服务时,出现错误400问题
    远程连接sql server 数据库的方法
    WPF样式——多条件触发器
    Ubuntu 16.04 安装 RabbitMQ
    session共享个人小结
    Nginx负载均衡配置
    MySQL数据库设置主从同步
  • 原文地址:https://www.cnblogs.com/ccxp/p/9513894.html
Copyright © 2020-2023  润新知