SVN服务器搭建Ubuntu

转自:https://www.cnblogs.com/1446358788-qq/articles/8605482.html

参考:https://www.jianshu.com/p/44d340e7f271

 

环境:

svn服务端:Ubuntu18.04

svn客户端:TortoiseSVN 1.9.5 64bit  64位

安装:

sudo apt-get update

sudo apt-get install subversion

创建项目版本库

sudo mkdir /home/svn     # 创建SVN根目录

sudo mkdir /home/svn/project1 # 创建版本库project1目录

sudo mkdir /home/svn/project2 # 创建版本库project2目录

svnadmin create /home/svn/project1 # 创建版本库project1

svnadmin create /home/svn/project2 # 创建版本库project2

 权限管理

为了便于管理,将所有版本库的密码和权限设置在同一个文件下面,操作步骤如下:
    1、 取出project1下面conf文件夹下的authz和passwd两个文件到svn根目录下面
    2、 修改每个版本库目录conf文件夹下面的svnserve.conf文件, 将

         # anon-access = read #auth-access = write # password-db = passwd#authz-db = authz 修改为:

            anon-access = none auth-access= writepassword-db = ../../passwdauthz-db = ../../authz

           (password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径)

 案例

5. 定义一下几个角色用来测试

    5.1 配置管理员(svnadmin),用来管理整个库

    5.2 项目经理(manage),用来相关管理文档

    5.3 开发人员 (dev),测试开发是否正常

 

6. 下面添加角色

       打开svn目录下的passwd文件,创建方法是在[user]下面添加 username = passwd,记得“=”前后的空格,如下图:

       (svnadmin控制所有项目,统一管理)

7.  为角色分配权限:
       假设(quxin是project1的项目经理,huzhixin是project2的项目经理,dev1、dev2是project1 的开发人员,dev3、dev4是project2的开发人员,test1是             project1的测试人员,test2是project2的测试人员)
 
       库目录及具体权限如下图所示:
       
    具体权限:(根目录下,svnadmin拥有所有权限,其他人只有读权限,要设置子目录权限,需设置子目录上级的权限方可,设置个别文件权限如下:)
    
    

 注意:【project1:/】的意思时,以根目录起始的project1版本库,地址为svn://主机IP/project1 

 

SVN常用命令

1、启动

 sudo svnserve -d -r /home/svn
2、关闭
sudo killall svnserve 
3、查看是否启动成功,可看的监听3690端口

sudo netstat -antp |grep svnserve

tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 28967/svnserve

 

 版本库地址

  1. svn://172.16.26.28/project1
  1. svn://172.16.26.28/project2

 

posted @ 2019-06-11 13:31  逐梦客!  阅读(213)  评论(0)    收藏  举报