zoukankan      html  css  js  c++  java
  • Shell按日期备份、Git拉取代码打包部署

    #!/bin/bash
    
    # jar文件位置
    jarPath="/data/api"
    # 拉取源代码存放的位置
    originCode="/data/api/originCode"
    # 备份jar文件位置
    backPath="/data/api/back"
    # 按时间区分
    data=`date +"%Y-%m-%d-%H:%M:%S"`
    # 项目端口
    port=8081
    
    echo "=====================创建备份文件路径============"
    if [ ! -d ${backPath} ];then
      mkdir -p ${backPath}
    else
      echo "备份文件路径已存在"
    fi;
    
    echo "=====================备份jar====================="
    cd ${jarPath}
    mv api-0.1.jar ${backPath}/api-0.1.${data}.jar
    echo "=====================备份jar成功================="
    
    echo "=====================创建源代码目录,如果不存在==="
    if [ ! -d ${originCode} ];then
      mkdir -p ${originCode}
    else
      echo "源代码目录已存在"
    fi;
    
    ## 从git拉取代码
    echo "=====================拉取新代码=================="
    cd ${originCode}
    git pull
    echo "=====================拉取成功====================="
    
    ## 构筑项目
    echo "=====================打包中======================="
    cd ${originCode}
    mvn clean install -Dmaven.test.skip=true
    echo "=====================打包完成====================="
    
    echo "=====================移动jar包到jarPath目录下====="
    cd ${originCode}/api/target
    mv api-0.1.jar ${jarPath}
    
    echo "=====================停止项目,准备启动...========="
    cd ${jarPath}
    #根据端口号查询对应的pid pid
    =$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }'); #杀掉对应的进程,如果pid不存在,则不执行 if [ -n "$pid" ]; then kill -9 $pid; fi sleep 1s echo "=====================启动项目=====================" java -jar .jar api-0.1.jar >/opt/logs/api/catalina.out 2>&1 &
  • 相关阅读:
    准备试用一下PHPUnit
    php dump 当前所有局部变量
    利用JNI动态链接库实现Java调用Jerasure库
    CentOS 5.5下配置新的Java环境
    Eclipse安装SVN插件
    hadoop0.20.2 Eclipse下编译过程
    学习ant——Java的Build工具
    CentOS5.5下安装MySQL 5.5全过程
    转载:Hadoop0.20.2集群的安装配置
    Linux 下使用Java连接MySQL数据库,并且实现插入、删除、选择操作
  • 原文地址:https://www.cnblogs.com/wangfajun/p/14755196.html
Copyright © 2011-2022 走看看