共计 2340 个字符,预计需要花费 6 分钟才能阅读完成。
环境介绍:
操作系统:CentOS release 6.5 (Final) 64 位
网络环境:内网
1 配置 SVN
1.1 安装 SVN 组件包
使用 yum 安装 svn 所需的组件包
# yum –y install subversion
1.2 配置 SVN
1.2.1 创建 svn 库路径
创建 svn 库路径,该目录后期提供用户文件写入和读取。
# mkdir -p /date/svn/
1.2.2 创建 SVN 版本库
使用特定的命令来创建版本库,创建成功后该目录会出现 SVN 配置文件。
# svnadmin create /date/svn/
1.2.3 定义配置文件
#vim /opt/svndata/repos1/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd #定义用户密码的配置文件
authz-db = authz #定义用户权限的配置文件
realm = svn
1.2.4 用户权限配置
1、创建 svn 访问用户
#vim /data/svn/passwd
[users]
test = test 创建了一个叫 tset 密码为 test 的用户
2、配置用户访问权限
#vi /opt/svndata/repos1/conf/authz
[groups]
admin = test
# harry_and_sally = harry,sally
[/]
@admin = rw
[repos1:/abc/aaa]
@admin = r
版本库目录格式:
[< 版本库 >:/ 项目 / 目录] #是以项目名作为第一个单位。试想肯定是以项目为单元的
@< 用户组名 > = < 权限 >
< 用户名 > = < 权限 >
其中,方框号内部分可以有多种写法:
/, 表示根目录及以下。根目录是 svnserve 启动时指定的,我们指定为 /opt/svndata。这样,/ 就是表示对全部版本库设置权限。
repos1:/, 表示对版本库 1 设置权限
repos2:/abc, , 表示对版本库 2 中的 abc 项目设置权限
repos2:/abc/aaa, , 表示对版本库 2 中的 abc 项目的 aaa 目录设置权限
权限主体可以是用户组、用户或 *,用户组在前面加 @,* 表示全部用户。权限可以是 w、r、wr 和空,空表示没有任何权限。
1.2.5 启动 SVN
# svnserve -d -r /date/svn/
- d 表示以 daemon 方式(后台运行)运行
-r /date/svn 指定根目录是 /date/svn
1.3 配置钩子
1.3.1 配置版本检测工具
自己利用 python 写了一个自动检测库里面文件版本的工具。代码如下:
# vim /date/svn/hooks/gouzi.py
#!/usr/bin/env python
if __name__==’__main__’:
importsys,string
try:
logfile= open(‘/tmp/python.out’,’a+’)
logfile.write(“this is python hook”)
logfile.close()
except:
exit(1)
sys.exit(0)
此工具需放在库目录中的 hooks 目录中。
1.3.2 配置 UPDATE 脚本
1、首先在客户端上手工 checkout 一次
# svn checkout svn://192.168.21.28/repos
2、编辑自动同步脚本
# vim svn_update.sh
代码如下
#!/bin/bash
/usr/bin/svn update /linshi/repos –username test –password test
if [$? == 0]
then
echo “ok” >> /tmp/z.out
fi
其中:/linshi/ 为存放目录(看环境而定)
–username test 用户名为 test
–password test 密码为 test
3、修改权限
# chmod +x /root/svn_update.sh
4、配置计划任务
因脚本无法实现自动执行,故配置计划任务设置每分钟执行一次。
# crontab -e
* * * * /root/svn_update.sh > /dev/null 2>&1
Ubuntu 14.04 下搭建 SVN 服务器 svn:// http://www.linuxidc.com/Linux/2015-01/111956.htm
CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm
CentOS 6.5 部署 Apache+SVN http://www.linuxidc.com/Linux/2013-12/94315.htm
Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/118086.htm