Centos7搭建svn服务

1、svn的安装

`yum -y install subversion`         #安装svn服务

2、创建货柜

mkdir /var/svn          #创建货柜
svnadmin create /var/svn/repos  #初始化该目录

3、创建货架

mkdir /var/www  #创建一个目录,临时存放货架
cd /var/www     #进入临时目录
mkdir trunk branches tags       #创建3个货架,分别是主干,分支,里程碑
echo "html" > /var/www/trunk/a.html #随便在trunk里面创建个文件,后面实验用

4、将www的临时货架上到svn的货架上

svn import /var/www file:///var/svn/repos -m "banben1"      #将/var/www的货架转移到svn的货架上

5、启动svn服务

vim /etc/sysconfig/svnserve #进入并修改配置文件


默认就是/var/svn 所以不需要修改,如果自己的svn目录是其他路径,改成对应路径。
systemctl start svnserve.service

6、修改配置文件

vim /var/svn/repos/conf/svnserve.conf       #修改主配置文件,一共需要修改三项
anon-access = read
auth-access = write         这三项都是去掉注释,去掉注释后还要去掉一个空格
password-db = passwd

vim /var/svn/repos/conf/passwd      #修改验证文件,添加svn服务用户

添加用户:wangjing 密码:123456 等号左右要有空格 保存退出

至此,服务端配置完成,接下来是客户端配置


客户端:

1、安装阿帕奇、svn服务

yum -y install httpd subversion

2、同步svn目录

cd /var/www/html        #进入到httpd服务的目录
svn checkout svn://192.168.125.130/repos        #将svn服务器的文件同步到此目录下

再配置一台客户端虚拟机,配置同上

3、模拟代码更新

cd /var/html/repos/trunk        #进入trunk目录
echo test > index.html      #创建主页文件
svn add index.html          #上传主页文件到服务器
svn commit -m "版本2"     #提交上传更新

提示输入root密码,直接回车
接着输入passwd设置的用户名密码 wangjing:123456

登录到另一台客户端
svn update



通过hook(钩子)实现自动同步更新

1、修改hook配置文件

cd /var/svn/repos/hooks #进入hooks目录

cp post-commit.tmpl post-commit #将提交触发模板复制并改名post-commit

vim post-commit #编辑hook文件

ssh [email protected] -C "cd /var/www/html/repos && svn update"

ssh [email protected] -C "cd /var/www/html/repos && svn update"

保存退出

注意,post-commit文件的最开头#!/bin/sh表示这是一个脚本文件,所以需要加执行权限

chmod +x post-commit

2、ssh免秘钥(鬼画符)

ssh-keygen(连续按回车,知道出现鬼画符为止)

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
输入yes 和密码

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

输入yes 和密码

3、验证

echo a > c.html

svn add c.html

svn commit -m "banben3"

可以看到另一台客户端不需要操作就可以自动更新

你可能感兴趣的:(Centos7搭建svn服务)