Shell 自动拉取 git 分支,mvn 打包,部署远程调试的脚本
#!/bin/bashchose_branch=$1server_list=("axxxx" "axxxxxxxx")srcDir='/usr/xxxxxx/xxxxxx/'function add_ssh_key(){cd ~/.ssh/ssh-agent bashssh-add id_rsa_xxxxxx}function change_...
文章共837字 · 阅读需要大约3分钟
一键AI生成摘要,助你高效阅读
问答
·
#!/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;
更多推荐
已为社区贡献7条内容
所有评论(0)