设置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
相关文章
相关标签/搜索