发布脚本(带git版本号)

40 篇文章 0 订阅
8 篇文章 0 订阅
while getopts ":e:s:a:" opt
do
    case $opt in
        e)
        env=$OPTARG
        ;;
        s)
        server=$OPTARG
        ;;
        a)
        author=$OPTARG
        ;;
        ?)
        echo "未知参数"
        exit 1;;
    esac
done

deploy() {
    #发布路径
    deployPath=/opt/formal_packge/$env/hotpot-fb-overseas
    #war打包路径
    buildPath=hotpot-web/build/libs/hotpot-web.war
    #外网应用名称
    appName=hotpot-tnb-game

    if test "$server" != "dev"
    then
        deployPath=/opt/formal_packge/$env/hotpot-${server}-fb-overseas
    fi

    case $server in
        idworker)
        appName=hotpot-Idworker
        buildPath=hotpot-idworker-web/build/libs/hotpot-idworker-web.war
        ;;
        independent)
        appName=hotpot-Independent
        ;;
    esac

    #将war包解压到对应路径
    rm -rf $deployPath
    unzip -d $deployPath $buildPath

    #获取Git当前版本号
    LOG_PATH="/tmp/gitlog.log"
    git log -1 >$LOG_PATH
    cat_ret() {
      cat $LOG_PATH | egrep -n "^ {0,}commit {1,}" | awk '{print $2}'
    }
    str=`cat_ret`

    #发布包到服务器
    output=`ssh root@192.168.1.122 "sh /data/deploy/shell/import-package.sh -r $str -n $appName -s ${deployPath}/ -u $author -a root -c 192.168.1.123"`
    echo $output
    echo "${server} deploy success!!"
}

if test "$server" = "all"
then
    serverList=(dev idworker independent)
    for i in ${serverList[@]}; do
       server=${arr[$i]}
       deploy
    done
else
    deploy
fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值