Svn的安装和配置

2020-03-03  本文已影响0人  骑蚂蚁上高速_jun

1 . 安装svn

$ yum install subversion

2 . 使用svn

创建仓库目录,
    这个可以根据自己的需求创建,最好 创建在 linux挂载的数据盘
$ cd /data
$ mkdir svndata  # 创建总目录,我准备将服务器所有的项目仓库都建在该目录下
$ cd svndata
$ svnadmin create dev.crm.com   # 执行创建svn仓库的命令
    svnadmin 如果执行成功会生成 对应的目录为 dev.crm.com的目录名称也就是仓库  
    如下图所示 
f970308b25e6856285af77ee3b5b7ee.png

可以根据自己的需要执行svnadmin 在svndata下创建多个仓库

  1. 配置svn:
$ cd dev.crm.com
$ cd conf  # 进入配置目录
1.配置服务文件svnserve.conf,主要开启以下4项
vi svnserve.conf  
[general]
anon-access = none
auth-access = write   # 允许认证者写的权限
password-db = passwd  # 指定客户端用户密码文件
authz-db = authz # 指定客户端使用者文件

2.配置用户文件 authz
$ vi authz   示例如下
[aliases]
[groups]
group_1 = xiaoming,xiaohua   # 配置用户 xiaoming  和 xiaohua
[dev.crm.com:/]  
@group_1 = rw  # 配置group_1 下的用户有 读写权限

3.配置密码文件 passwd
$ vi passwd
[users]
# 分别配置 xiaoming , xiaohua 两个用户的密码为 123456
xiaoming  = 123456
xiaohua = 123456

4 . 配置Hooks, 让客户端提交的代码直接同步到 项目运行目录

#进入钩子目录
$ cd dev.crm.com/hooks
$ cp post-commit.tmpl  post-commit  # 重新复制一个钩子文件并重命名
$ vi post-commit   # 配置钩子

REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8   # 指定编码。
SVN_PATH=/usr/bin   # 指定svn可执行命令 的安装目录,由于我使用yum安装故就在该目录
WEB_PATH=/data/wwwroot/dev.crm.com   # 项目运行目录

LOG_PATH=/data/svndata/dev.crm.com.log  # 该项目的svn运行日志文件,下面两项为日志的格式
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
# 以下两项表示 用户 xiaoming , xiaohua 两人提交代码直接同步至项目目录
$SVN_PATH/svn update $WEB_PATH --username xiaoming --password 123456 --no-auth-cache >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username xiaohua   --password 123456 --no-auth-cache >> $LOG_PATH

配置文件后,必须给钩子文件可执行权限
chmod +x post-commit

5 . 启动服务器的svn

$ cd /data
$  svnserve -dr svndata    # 该命令会启动 svndata目录下的所有svn项目仓库

$ ps -ef | grep svn  # 查看svn 是否正常启动
$ netstat -tunlp | grep 3690 # 检查svn监听的端口是否启用

备注 :
svn 默认监听的是  3690 端口
如要 开启服务器客户端远程提交代码,故需要配置iptables 允许远程访问 3690端口
上一篇 下一篇

猜你喜欢

热点阅读