手把手从零开始搭建SVN服务器并配置库同步

目录

概要

软件安装配置

功能测试

代码库同步

小结

概要

        SVN(Subversion)是一个开源的版本控制系统,用于管理随时间变化的数据。它通过分支管理系统实现高效管理,适用于多人共同开发同一个项目,实现资源共享和集中式管理。知道它是干什么用的肯定什么都知道了,不然也不会点进这篇文章,废话不多说,马上进入搭建教程。

软件安装配置

1、万事第一步,先更新一下本地软件包索引。新时代IT就要用新版本的软件。

sudo apt-get update

2、使用apt命令下载subversion软件

sudo apt-get install subversion

3、创建一个测试库,并授予权限。

sudo mkdir -p /var/svn                            #创建一个文件夹用于存放库
sudo svnadmin create /var/svn/testrepo            #在/var/svn/路径下创建一个名为testrepo的库
sudo chown -R username:username /var/svn/testrepo #给这个库授予权限

4、进入 /var/svn/testrepo(库名)/conf然后修改名为svnserve.conf的配置文件。只需要删除如图四行配置的注释即可,保存并退出。

5、同样的在/var/svn/testrepo(库名)/conf 路径下,有名为passwd的配置文件,我们也要对其进行修改。“=” 前为账户名称,后为密码,这里我是帐密同名。

6、最后,相同路径下还有一个名为authz的配置文件,按照如图配置修改

7、使用命令svnserve -d -r /var/svn可开启svn服务,然后利用ps aux | grep svn命令查看服务是否已经起来了,有如下字样说明服务器已启动

svnserve -d -r /var/svn    #开启svn服务
ps aux | grep svn          #查看服务是否已开启

功能测试

1、用svn客户端测试一下是否能连上

2、访问时弹出密码,说明一切正常,输入账户密码即可

SVN服务器的搭建到这里就结束了,如果想把其他的老SVN服务器同步代码到新的SVN服务器可以接着往下做。

代码库同步

1、首先进入/var/svn/testrepo/hooks路径,该路径下有个名为pre-revprop-change.tmpl的文件,把它复制并重命名成pre-revprop-change

cd /var/svn/testrepo/hook                        #进入hook目录
cp pre-revprop-change.tmpl pre-revprop-change    #复制并重命名

2、修改 pre-revprop-change 内容成如图所示,如果不这么修改的话,库是同步不过来的。

3、配置好后可以使用sudo svn info https://目标库地址/路径 查看目标库信息,以确定能否能进行同步。注意:目标库地址不一定都是图中的https://这样的形式,也可能是svn://的形式,根据实际情况选择。

sudo svn info https://目标库地址/路径

4、执行初始化,把本地库和目标库映射起来。

sudo svnsync init file//本地库地址 https://目标库

5、初始化完成后执行同步,等待结束即可

小结

最基本的搭建方法就是这样了,用户名可根据需求自行创建。

需要注意的一点是,从目标库同步过来的库不会同步其账户数据,有需求的话可以自行设置账户及密码。