以下方法在ubuntu6.4测试成功。自己搭建测试用,谨以此记录方便下次查找。

首先安装一下svn:使用一下命令直接到ubuntu源下载安装。

#sudo apt-get install subversion 

第二,创建一个svn目录

#sudo mkdir /svn

#sudo mkdir /svn/repos

第三,创建库[这里用 cards 这个目录为例]

#sudo svnadmin create /svn/repos/cards

第四,配置相关权限【包括 访问控制,用户密码】

配置包括三个文件【位于/cards/conf】:

 authz — 这个访问控制

passwd — 用户密码

svnserve.conf — 基础配置

先配置 svnserve.conf  ,做如下修改(使用命令:#sudo vim svnserve.conf  进入编辑即可)

#anon-access = read      修改为 anon-access = none  【也就是去掉注释,然后把read改成none】

#auth-access = write     修改为 auth-access = write   【也是去掉注释】

#password-db = passwd 修改为 password-db = passwd 【去掉注释,这个是用户密码文件的位置,你喜欢的话甚至可以修改为 ../../pwd 支持路径和文件名非默认,passwd 是默认的文件名】

#authz-db = authz  修改为 authz-db = authz【去掉注释,这个是访问控制文件的位置,你喜欢的话甚至可以修改为 ../../auth 支持路径和文件名非默认,authz 是默认的文件名】

然后配置 passwd ,依然使用vim修改文件

在文件最后面添加用户密码,一行一个用户,形式有如: 用户名=密码

再来配置authz,还是使用 vim编辑

在文件末端输入:

[cards:\]

* = rw

这个区区两行是什么意思? 首先 中括号内是代表 目录,也就是 cards的根目录 。那么 * =rw 呢?就是 任何用户 具有读写权限。

当然高级一点的配置也可以,甚至可以设置用户组。但这样已经够用了。

要看这三个文件更详细的配置可以移步->http://steve-wang-victor.javaeye.com/blog/517642[哈哈~也是百度来的]

下面是重头戏,就是同步到网站目录:

那么且看我的文件结构:

我的web程序放在 /var/www/cards 下面。这个就是域名实际访问的目录。

svn库在 /svn/repos/cards

我们的目标:实现客户端提交到 svn库后 域名访问目录同步获取最新代码。这样多人协作开发就更方便些了。

同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再通过rsync同步到远程的WEB服务器上。

简单的了解下SVN的hooks:
# start-commit 提交前触发事务
# pre-commit 提交完成前触发事务
# post-commit 提交完成时触发事务
# pre-revprop-change 版本属性修改前触发事务
# post-revprop-change 版本属性修改后触发事务
【这些hooks 存放在每个库的hooks目录下】

我们要用到 post-commit 这个事务。

#cd /svn/repos/cards/hooks

#cp post-commit.tmpl post-commit  

#chown www:www post-commit

#chmod a+x post-commit

#保证你的web目录是spark用户能访问的,不然这个post-commit不会正常工作

#chown -R spark:spark./svn/repos/cards

#sudo vim post-commit

———————

下面是对post-commit的修改

#!/bin/sh

export LC_CTYPE=en_US.UTF-8

svn update –username digmouse –password digpwd /var/www/cards

这里的用户名和 密码自然是 passwd 文件内配置好的。

网上有人说 做hooks 最好定义变量,但是我定义了变量结果貌似不可用,索性直接用写的。也不知为何。

自此,客户端提交后就马上更新到web目录了

, ,

引用地址:http://www.crazyi.cn/?p=551

楼被抢了2层了

  1. 好文章啊》不能错过的文章


    妹妹按摩网 Says @ 10-06-3 16:15
  2. 不错的网站。好文章


    妹妹按摩网 Says @ 10-06-4 11:47

要说点啥就在这吧