您的位置:首页 > 其它

基于svn的版本发布工具

2016-05-05 14:38 197 查看
问题起源:

在实际生产环境中,项目目录下是不能有.svn文件,因为有这个文件,就有可能会有源代码泄露的漏洞;所以我们不能直接在项目目录下svn update;

解决思路:

既然不能直接在项目目录下svn update,我们可以在一个用户访问不到的目录进行svn update,然后把所有文件拷贝到项目目录下去;然后删除项目目录下的.svn文件;以这样的思路写一个shell脚本后,发布代码只需要执行一下这个shell脚本;相当的便利。

shell脚本代码:

#!/bin/bash
#功能:从svn发布代码到生产环境
#作者:木长
#日期:2016/5/5

#SVN的目录
SVN_PATH=/svn/project/blog/;
#生产环境的目录
BLOG_PATH=/usr/local/nginx/html/blog/

if [ -d $SVN_PATH ];then
cd $SVN_PATH
echo "开始从svn更新文件...";
svn update
cd ../
echo "当前所在的目录为:`pwd`";
echo "正在从 $SVN_PATH 同步到 $BLOG_PATH ...";
rsync -rq  $SVN_PATH* $BLOG_PATH;
cd $BLOG_PATH
echo "正在删除$BLOG_PATH 下的 .svn文件";
find . -type d -name ".svn"|xargs rm -rf
else
echo "不存在 $SVN_PATH 目录;";
fi


以下代码仅供参考,具体还得根据环境来;上面的代码也只是简单的实现了基本思路和功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  发布工具