Centos搭建SVN服务器,并同步到web目录下

时间:2019-03-26 20:03:21       编辑:echeverra

一、简介


SVN是Subversion的简称,是一个开放源代码的版本控制系统,很多互联网公司都在使用。



二、安装SVN


yum install subversion

安装完后,查看版本命令svnserve --version,有版本信息说明安装成功,一般安装的路径为/usr/bin/svn。




三、搭建SVN服务器


1.新建一个目录用于存储SVN目录

mkdir /home/svn



2.新建一个测试仓库

svnadmin create /home/svn/echeverra/


新建完后会有目录下文件:

hooks目录:放置hook脚步文件的目录

locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号

conf目录:是这个仓库配置文件(仓库用户访问账户,权限)


3.配置svn

配置文件都在conf下:

authz:是权限控制文件。

passwd:是账号密码文件。

svnserve.conf:SVN服务配置文件。


3-1.SVN服务配置文件

vim svnserve.conf

 1.png

anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /home/svn/echeverra #认证空间名,版本库所在目录


3-2.配置访问用户及密码

vim passwd

2.png

用户名 = 密码形式,填写你自己的用户名密码,下同


3-3.配置权限

vim authz

3.png


4.使用本地svn小乌龟测试

4.png

check out成功即svn服务器搭建成功。



四、自动同步到web目录下


进入/home/svn/echeverra/hooks下,新建post-commit文件:

touch post-commit


写入如下shell命令

5.png

#!/bin/bash  //执行shell命令
REPOS="$1"
REV="$2"
export.UTF-8 //这里设置字符格式
SVN_PATH=/usr/bin/svn //这里是SVN安装的目录。查看svn安装目录命令:whereis svn
WEB_PATH=/data/www/echeverra //网站的目录
$SVN_PATH update $WEB_PATH --username username --password password --no-auth-cache //svn update


给post-commit 执行权限:

chmod 777 post-commit


先执行svn命令

svn co svn://139.199.32.160/echeverra  /data/www/echeverra


然后本地就可以测试上传文件是否同步到web目录下啦^ ^