Shell 自动拉取 git 分支,mvn 打包,部署远程调试的脚本

#!/bin/bash

chose_branch=$1

server_list=("axxxx" "axxxxxxxx")
srcDir='/usr/xxxxxx/xxxxxx/'


function add_ssh_key()
{
    cd ~/.ssh/
    ssh-agent bash
    ssh-add id_rsa_xxxxxx
}


function change_config()
{
    sed -i "s/xxx=.*/xxx=$XXX/g" $xxxx_conf
}


function clone_gitcode()
{
    if [[ "$chose_branch" = "master" ]]; then
        git_pull_master;

    elif [[ "$chose_branch" = "dev" ]]; then
        git_pull_dev;

    else
        git_pull_master;
    fi
}

# git 拉取 master 分支
function git_pull_master()
{
    cd /usr/xxxxx
    rm -rf xxx
    git clone  [email protected]:xxxx/xxxx.git
    cd xxxx
    git checkout master
}

function mvn_server()
{
    for dir in ${server_list[@]}
        do
            dirFile=$srcDir$dir;
            if [ -d $dirFile ]&&[[ $dir != script* ]]&&[[ $dir != data* ]]; then
                cd $dirFile;
                mvn clean install;
            fi
        done;
}

function stopall()
{
    for server in ${server_list[@]}
    do
        pid=`ps -ef|grep $server|grep -v "grep"|awk '{print $2}'`
        kill -9 $pid
        npid=`ps -ef|grep $server|grep -v "grep"|awk '{print $2}'`
        if [ "$npid" == "" ]; then
            echo -e "pid of $1 is killed SUCCESSFULLY!!!"
        else
            echo -e "pid of $1 is NOT killed !!!"
        fi
    done
}

i=10000

function startall()
{
    for serv in ${server_list[@]}
    do
        cd $srcDir$serv/target;

        nohup java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$i,server=y,suspend=n  -jar $serv.jar &

        i=$(($i+1))

        npid=`ps -ef|grep $serv|grep -v "grep"|awk '{print $2}'`

        if [ "$npid" != "" ]; then
            echo -e "pid of $serv is started SUCCESSFULLY!!!"
        else
            echo -e "pid of $serv is NOT started !!!"
        fi
    done
}


echo -e "-------添加 SSH-Key-------"
# add_ssh_key;

echo -e "-------更新代码-------"
clone_gitcode;

echo -e "--------changing config --------"
change_config;

echo -e "-------编译中:-----------"
mvn_server;

echo -e "------- restarting server -------"
stopall;
startall;

猜你喜欢

转载自blog.csdn.net/heatdeath/article/details/80547933