Subversion自动发布处理

Subversion自动发布处理:

安装subvision

apt-get install subversion 

创建SVN仓库

mkdir /home/repos
svnadmin create  /home/repos/walkphp

修改权限:/home/repos/conf/authz

[groups]
admin = yernsun # 将yernsun添加到admin组 
[/] 
yernsun = rw  # 成员yernsun对/目录的权限:r读,w写

在repos/project1/conf/passwd中添加用户名密码添加用户密码
[users]
yernsun = sunny
修改/conf/svnserve.conf指定授权方式

anon-access = none
auth-access = write 
password-db = passwd # 指定密码文件 
authz-db = authz     # 指定授权认证文件

启动SVN服务:

svnserve -d -r /home/repos

首次初始化

svn import /tmp/walkphp file:///home/repos/walkphp -m "Initial import"

当出现Committed revision 1.时说明首次提交完成。并且并且可以使用了,我们可以在客户机上尝试checkout了。可以使用了,我们可以在客户机上尝试checkout了。

通过Hooks实现Web项目自动发布:
首先签出一次到Web项目目录

svn co svn://localhost/walkphp --username yernsun --password sunny /home/wwwroot/walkphp.org

然后修改 /home/repos/walkphp/hooks/post-commit

#!/bin/sh
REPOS=”$1″
REV=”$2″
export LANG=zh_CN.UTF-8
svn up /home/wwwroot/walkphp.org --username yernsun --password sunny  --no-auth-cache

给权限,避免出现255错误

chmod 777 post-commit