更新svn同步更新web目录
早就应该把这个写出来了,但一直都没空去写,乘今天同事让我做svn库,并要求web目录也随svn一起更新,才有空写这篇文章.
系统:centos 5.5
1.创建svn库
svnadmin create magny
2.创建更新脚本
vi deploy_www.sh
这里说下,我的web目录是/var/www/magny,相信这个脚本大家也可以看得懂.
3.创建更新目录
mkdir -p /home/magny/www/magny
mkdir -p /home/magny/tmp
4.checkou svn
cd /home/magny/www/
svn co svn://地址
5.执行更新脚本并验证结果
sh deploy_www.sh或./deploy_www.sh
系统:centos 5.5
1.创建svn库
svnadmin create magny
2.创建更新脚本
vi deploy_www.sh
#!/bin/bash DOCROOT='/var/www/magny' SVNROOT='/home/magny/www/magny/' TMPROOT='/home/magny/tmp/' rm -fr ${TMPROOT}* svn update ${SVNROOT} cd ${SVNROOT} svn export ./ ${TMPROOT}magny rm -fr ${DOCROOT}* cp -R ${TMPROOT}* ${DOCROOT}
这里说下,我的web目录是/var/www/magny,相信这个脚本大家也可以看得懂.
3.创建更新目录
mkdir -p /home/magny/www/magny
mkdir -p /home/magny/tmp
4.checkou svn
cd /home/magny/www/
svn co svn://地址
5.执行更新脚本并验证结果
sh deploy_www.sh或./deploy_www.sh
好了,可以看到web目录也一起更新了,方法很简单,不用去svn里更改什么.
ps:大家也可以去看看这篇文章http://hellosa.blog.51cto.com/2698675/531861
当然我文章里没有说清楚是给测试服务器的,所以你会要这样的想法是很正常的.
毕竟每个人的shell脚本都是符合他的环境的,你不可能直接复制我的,也要去根据自己的环境进行修改的.
1.上线代码要跑去服务器执行一下 shell 脚本
2.上线新的代码你第一步还要删除web站点的代码。正在访问的网站怎么经得起这样的折腾。
3.每次上线都是全部 export 全部cp到站点。
问题:为什么不能做到 有更新的代码才进行覆盖。(保证站点正常运作)