一、 背景交待:
最近负责将公司OA团队的开发上线流程进行了规范化管理,以往是开发测试上线,都是一个同事在做,这样的方式快捷,但容易出现问题,开发测试上线都可能是同一个人。现在,我将所有流程分开,开发、测试、上线、验收都由不同的同事进行负责。这里,我的任务是进行线上部署。一开始,我们的工作是上传需要上线的代码到svn,测试通过后,再将这批需要上线的代码放至正式进行部署更新。原来的方式,是用FTP上传代码再更新,也没有备份,现在我想将流程一次过搞定,并且有原来代码的备份。
二、 代码流程
啥也先不说,直接上shell代码autoDeploy.sh:
#!/bin/bash
#第一步,下载svn文件并备份原系统文件
if [ -z "$1" ];then
echo "请输入需要部署的SVN路径"
exit
fi
DIR_NAME=$(date +%Y%m%d)
if [ ! -n "$2" ];then
echo "指定文件夹参数为空"
else
DIR_NAME=$2
fi
SVN_URL=$1
#从svn下载
rm -rf /tmp/upload/$DIR_NAME
mkdir -p /tmp/upload/$DIR_NAME
cd /tmp/upload/$DIR_NAME
svn checkout $SVN_URL . --username xxxx --password xxxx
find . -type d -name ".svn"|xargs rm -rf
#echo "svn获取:svn ch