#!/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;
Shell 自动拉取 git 分支,mvn 打包,部署远程调试的脚本
猜你喜欢
转载自blog.csdn.net/heatdeath/article/details/80547933
今日推荐
周排行