zoukankan      html  css  js  c++  java
  • shell脚本自动化部署

    由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了。

    一、纯人工部署是这样的:

       1. 本地打包:一般 maven clean package

       2. 借助xftp上传到服务器对应目录

       3. 借助 xshell连接到服务器

       4.开始部署:

             a、找到程序运行的进程id:ps -ef | grep java 

             b、杀死进程: kill -9 pid

             c、启动新的jar包: java -jar  包名  --spring.profiles.active=test &

    二、使用shell脚本自动化部署

       1. 脚本

         

    #!/bin/bash

    jarName=$1
    jarNew=$(find $jarName*jar)
    jarHead=$(find $jarName*jar | awk -F '.' '{print $1}')

    #echo "jarHead --- ${jarHead}"

    echo "本次更新的包名----${jarNew}----"
    sleep 3


    PID=`ps -aux | grep $jarHead | grep -v grep | grep -v deploy | awk '{print $2}'`
    #unset PID
    echo " ---旧进程PID:${PID}--"

    if [ -n "$PID" ];
    then
    echo "杀死旧的进程……"
    sleep 2
    kill -9 $PID
    else
    echo "无旧服务……"
    fi

    echo "开始启动……"
    sleep 1
    java -jar $jarNew --spring.profiles.active=test &

        2. 只需要把文件命名 deploy.sh,保存到jar包相同目录下

        3. 启动命令: 

            a、切换到jar包目录

            b、启动:./deploy.sh  jar包名

                 比如包名  ticket-gateway-1.0.1-SNAPSHOT-f3dbc36.jar

                 输入 ./deploy.sh ticket-gateway-1.0.1-SNAPSHOT-f3dbc36

                 然后回车键

            c、如果目录下一个服务有多个jar,那么jar包名需要精确,如果只有一个jar包,输入前面一部分能区分即可。

        4. 如果是线上环境,就新建一个文件 deploy-prod.sh,修改脚本最后一行:

         java -jar $jarNew --spring.profiles.active=prod &

    注意:shell脚本文件名要包含 “deploy”

    三、使用shell脚本依然需要自己打包、上传,后续研究下Jenkins+git+maven自动化部署~

  • 相关阅读:
    C语言-if语句
    C语言-表达式
    C语言-基础
    Java for LeetCode 187 Repeated DNA Sequences
    Java for LeetCode 179 Largest Number
    Java for LeetCode 174 Dungeon Game
    Java for LeetCode 173 Binary Search Tree Iterator
    Java for LeetCode 172 Factorial Trailing Zeroes
    Java for LeetCode 171 Excel Sheet Column Number
    Java for LeetCode 169 Majority Element
  • 原文地址:https://www.cnblogs.com/shog808/p/12341418.html
Copyright © 2011-2022 走看看