首页 > 代码库 > 实战搭建SVN代码版本服务器

实战搭建SVN代码版本服务器

前言:公司要求搭建一台SVN代码版本管理服务器,用于管理所有代码资产;

项目架构图

技术分享

 

1、环境安装

  [root@host_centos ~]#yum –y install subversion mod_dav_svn

  [root@host_centos ~]#cat /etc/services |grep –color svn                                                       #查看己注册

  svn                                       3690/tcp                                                                                          # Subversion

  svn                                       3690/udp                                                                                        # Subversion

 

2、创建版本库目录

  [root@host_centos ~]# mkdir -p /vdb1/svn

  [root@host_centos ~]# svnadmin create /var/svn/code

  [root@host_centos ~]# svnadmin create /var/svn/resource

  [root@host_centos ~]# ls /var/svn/code/

  README.txt  conf  db  format  hooks  locks

 

3、修改配置文件

  将配置文件移动到/vdb1/svn目录下

  [root@host_centos svn]# mv /vdb1/svn/code/conf/authz /vdb1/svn/

  [root@host_centos svn]# mv /vdb1/svn/code/conf/passwd /vdb1/svn/

 

  修改code下的svnserve.conf文件

  [root@host_centos ~]# vim /vdb1/svn/code/test/conf/svnserve.conf

  将下面的进行取消注释

  anon-access = none                                           #匿名用户可读写

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

  password-db =/vdb1/svn/passwd                   #使用哪个文件作为帐号文件

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

  realm = My test                                                  #认证空间名

 

  配置用户和密码

  [root@host_centos ~]# vim /vdb1/svn/passwd

  user1 = 123456

  user2 = 123456

  user3 = 123456

  user4 = 123456

  user5 = 123456

  user6 = 123456

  user7 = 123456

注意:此配置文件的所有内容必须顶格写,否则报错;

 

  配置用户认证权限

  [root@host_centos ~]# vim /vdb1/svn/authz

  [groups]                                                        #组

  管理员组:admin_group = user1

  开发组:develps_group = user1, user2

  资源组:resource_group = user3,user4

  产品组:product_group = user5,user6

  UI组:ui_group = user7

 

  修改resource下的svnserve.conf文件

  [root@host_centos svn]# vim /vdb1/svn/resource/conf/svnserve.conf

  anon-access = none

  auth-access = write

  password-db = /vdb1/svn/passwd

  authz-db = /vdb1/svn/authz

 

4、SVN服务的操作

  启动svn服务命令:svnserve –d –r /vdb1/svn

  关闭svn服务命令:

  ps  -aux|grep svnserve                  #先查出这个服务的进程

  kill -9 进程号                                  #将这个进程杀死;

 

5、后期增加项目库注意事项

  后期如要再添加项目库,为了将所有用户使用统一的密码来进行访问版本库,可以将 /var/svn/code/项目/conf/svnserve.conf文件的 password-db = passwd authz-db = /vdb1/svn/authz 的路径进行改更指向;

 

6 、其它

  设置开机启动

  [root@host_centos ~]# chkconfig svnserve on

  其它操作

  svn代码库从一个仓库迁到另一个仓库


  1.导出项目包括提交日志
  svnadmin dump /var/svn/pnew/>pnew.svn
  pnew:要导出的仓库名


  2.导入
  svnadmin load code --parent-dir new_admin < dd
  code:新仓库名
  new_admin:新仓库下的文件夹名 

实战搭建SVN代码版本服务器