#!/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  git@git.xxxx.com: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;                










