设置SVN hooks实现自动发布

# CentOS下安装SVN

yum -y install subversion 

svnserve --version

cd /home/

mkdir svn

cd svn/



/usr/bin/svnserve -d -r /home/svn/        # 启动SVN服务

svnadmin create /home/svn/test/        # 创建版本仓库



vi /etc/rc.local

# 新增以下内容

/usr/bin/svnserve -d -r /home/svn/



# 先设置 passwd ,并文件移动到 /home/svn 下

[users]

funsion=123

# 语法:用户名=密码



# 再设置权限authz ,并文件移动到 /home/svn 下

[/]

funsion=rw

# 意思是funsion用户对所有的目录有读写权限,当然也可以限定。



最后设定 snvserv.conf

anon-access = none # 使非授权用户无法访问

auth-access = write # 使授权用户有写权限

password-db = /home/svn/passwd

authz-db = /home/svn/authz   # 访问控制文件

realm = /home/svn/test    # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。

# 采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.



# 设置 SVN hooks(SVN自动发布)



cd /home/svn/test/hooks/

cp post-commit.tmpl post-commit



# 给post-commit文件增加执行权限

chmod -R 744 post-commit



# 修改post-commit文件,加入所需的钩子

# 比如我使用的是



#!/bin/sh

export LANG = en_US.UTF-8

REPOS="$1"

REV="$2"

/usr/bin/svn update --username funsion --password 567890 /home/wwwroot/www.test.com

/bin/chown -R www:www /home/wwwroot/www.test.com

 

你可能感兴趣的:(SVN)