版本控制器之SVN的安装、配置、hooks配置及使用

1、subversion安装(已安装跳过)

yum install -y subversion
svn --version

2、创建版本库(根目录以:/var/svn/为例,以:/var/svn/test为某一个仓库)

mkdir -p /var/svn/test
svnadmin create /var/svn/test
// 执行后可看到仓库下有如下目录
# conf          // 配置文件夹
# db            // 数据库文件夹
# hooks         // 钩子程序(触发器)
# locks         // 文件锁定相关
# format        // 
# README.txt    //

3、配置用户权限

vi /var/svn/sPlant-C/conf/svnserve.conf
# anon-access = read     // 开启并修改成anon-access = none(设置匿名不能访问),如果是read则不会显示日志出来
# auth-access = write    // 开启权限认证(去掉前面#)
# password-db = passwd   // 开启用户配置信息存放文件
# authz-db = authz       // 开启存放授权信息文件
//修改后保存

vi /var/svn/sPlant-C/conf/passwd
// 账号=密码
test=123456
test2=123456
test3=123456
//修改后保存

vi /var/svn/sPlant-C/conf/authz
[groups]                 // 设置分组下的用户
kaifa = test,test2
ceshi = test3
[/]                      // 指定目录下给定的权限(修改为/)
@kaifa = rw              // 按分组分(@表示分组)
@ceshi = r
//修改后保存

4、启动SVN

svnserve -d -r /var/svn     // -d:声明后台启动 -r:声明版本库根目录
ps -ef | grep svn  

5、配置钩子程序(hooks)

cd /var/svn/test/hooks/
vi post-commit
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8    //设置编码
WEB=/var/www/test         //web项目目录
SVN=/usr/bin/svn                    //svn文件
user=test
password=123456
$SVN update $WEB --username $user --password $password --no-auth-cache    //设置登录账号密码并不缓存(这种方式需要在$WEB目录下checkout一下)
或者
$SVN co svn://localhost/sPlant-C $WEB --username $user --password $password1 --no-auth-cache    //可实现不需要再站点目录下先checkout

切记post-commit需要给0777权限

配置完成之后把3690端口打开,然后正常使用即可,提交则将会自动同步到指定目录下。

可以自己尝试写一下shell脚本可以更方便的使用svn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章