您的位置:首页 > 运维架构 > Linux

linux搭建svn版本控制器

2016-11-03 21:23 232 查看
安装步骤如下:
1、yum install subversion
2、输入rpm -ql subversion查看安装位置
3、创建svn版本库目录

mkdir -p /var/svn/svnrepos

 

4、创建版本库

svnadmin create /var/svn/svnrepos

5、进入conf目录(该svn版本库配置文件)
authz文件是分配用户组 权限控制文件
passwd是帐号密码文件
svnserve.confSVN服务配置文件
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如a=a
1.                  创建用户组
vi authz
在末尾添加如下代码:
复制代码 代码如下:

[/]
wang=a,b,c
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access= read #匿名用户可读
auth-access= write #授权用户可写
password-db= passwd #使用哪个文件作为账号文件
//authz-db= authz #使用哪个文件作为权限文件
realm= /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve-d -r /var/svn/
 
检出svn
svncheckout svn://localhost/需要检出的目录  /要检出的路径
更新版本
svnup
 
10自动更新
进入hooks目录

把post-commit.tpl文件重命名为post-commit

并增加以下代码:

#!/bin/sh

WEB=/home/data/o135

export LANG=en_US.UTF-8

svn update $WEB --username o135 --password 'o135123'
 
保存,退出。。

给予此脚本的权限:

chmod 777 post-commit

测试一下,看脚本是否有权限问题

./post-commit

以后每次客户端提交操作,就会自动运行该脚本。

#需要update的文件夹要先checkout

 
问题解决
注意事项:
vi svnserve.conf配置文件去注释后不能有空格
关闭防火墙
1. 积极拒绝 无法连接
原因:未启动服务
解决方案 :svnserve --help
启动服务器:
svnserve-d -r /var/svn
查看是否启动版本库
 ps -aux | grep svnserve
 
防火墙 关闭防火墙 service iptables stop
2. 认证失败
未分配用户
svnserve.conf配置文件
authz配置用户组 分配用户
passwd给用户分配密码
杀死服务重新启动
kill-9 (进程号)
启动服务器:
svnserve-d -r /var/svn

本地克隆地址svn://ip地址/版本库名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: