Centos7 如何搭建svn服务

263 阅读1分钟

一、搭建svn环境并创建仓库

1、安装Subversion

yum install -y subversion

2、检测是否安装成功(查看svn版本号)

svnserve --version

3、创建版本库

//先建目录
mkdir /var/svn
sudo chmod -R 777 /var/svn
cd /var/svn
//创建版本库
svnadmin create /var/svn/project
cd project
ls -a
//自动生成的版本库文件
conf  db  format  hooks  locks  README.txt

svn环境搭建成功。

二、配置

进入conf目录(该svn版本库配置文件)

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

设置帐号密码

sudo vim passwd

在[users]块中添加用户和密码,格式:帐号=密码,如junwei = junwei 完整内容参考下面:

[users]
june = june
junwei = junwei

设置权限

sudo vim authz

完整内容参考下面:

[aliases]
[groups]
admin=june  //创建一个组,并制定用户
user=june,junwei
[/]
@admin=rw
@user=rw

修改svnserve.conf文件

sudo vim svnserve.conf

完整内容参考下面:

[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/svn/project
# force-username-case = none
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256

启动svn版本库

sudo svnserve -d -r /var/svn

三、实现svn更新自动同步到web目录:

进入/var/svn/project/hooks下,建立post-commit文件:

cd /var/svn/project/hooks
vim post-commit

//在该文件里添加如下代码,保存
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn   //这里不用改
WEB_PATH=/var/www/html  //web目录,如果你的不同,可以改
//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username 'junwei' --password 'junwei' --no-auth-cache

保存退出。

给post-commit 执行权限:

chmod 755 post-commit