全部博文(317)
分类: LINUX
2011-05-23 15:14:39
我们知道要把svn的内容更新到web目录需要手动的svn up,但是今天笔者教你自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创
建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。
第一步:建立你的web程序目录
mkdir /var/www/html/test
然后在存放svn配置文件的目录下 如/opt/svn 执行
1.svnadmin create test //test为svn配置文件,如conf目录,hooks目录等
2.在conf目录下找到 svnserver.conf
拷贝到文件如下内容
anon-access = none
auth-access = write
password-db = passwd
3.在conf目录下找到passwd 文件
输入用户名密码 test=test
3.进入/var/www/html/test目录。
#svn checkout testsvn /var/www/html/test
#svn co svn://172.19.5.12 ./ //检出一份版本库文件到当前目录
第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】
添加脚本内容如下:
#!/bin/sh
SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件
WEB=/var/www/html/test #要更新的目录
$SVN update $WEB --username xxx --password xxx
其中SVN=右边改成 svn 命令位置
WEB=右边改成你实际的web目录
第三步:让post-commit有执行的权限 chmod 777 post-commit (一定要有)
第四步:这里就已经完成了,
第四步就是测试了。
如果测试出现了 hoot out error 那就是 post-commit权限不够 看一下第三步就明白了
参考文档:
R1:
R2:
R3:
R4:http://hi.baidu.com/bigeyex/blog/item/9f7ac600e8823319728b65b6.html
实现过程,是使用了svn的一个hook的功能,我们调用了 post-commit 来做一些当提交完成后的操作。
1. 编辑svn代码库服务器上文件: svn/test/hooks/post-commit
2. 在客户端测试,并且要在comment中加入 auto_deploy,否则不会触发自动部署的操作。