• 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自动化部署~

  • 相关阅读:
    lncRNA表达定量方法评估
    比对软件之STAR的使用方法
    怎么检测自己fastq的Phred类型 | phred33 phred64
    质控工具之TrimGalore使用方法
    怎么从bam文件中提取出比对OR没比对上的paired reads | bamToFastq | STAR
    RepBaseRepeatMaskerEdition下载 | RepeatMasker
    Nr,GenBank, RefSeq, UniProt 数据库的异同
    质控工具之cutadapt的使用方法
    初步了解hg19注释文件的内容 | gtf
    单细胞数据高级分析之消除细胞周期因素 | Removal of cell cycle effect
  • 原文地址:https://www.cnblogs.com/shog808/p/12341418.html
Copyright © 2020-2023  润新知