SVN服务器在Ubuntu16.04下搭建多版本库详细教程

1  介绍
  Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不一样的是,它能够记录每一次文件和目录的修改状况。这样就可 以很方面恢复到之前的版本,并能够查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。

2.  安装和服务器搭建
    执行下列指令安装  
  
  
  
  
sudo apt-get install subversion

3  建立版本库
   3.1先建立目录文件夹
  
  
  
  
sudo mkdir /home/svn
   
   
   
   
sudo mkdir /home/svn/project1sudo mkdir /home/svn/project2
   3.2建立第一个项目 project1 第二个项目 project2
   
   
   
   
svnadmin create /home/svn/project1svnadmin create /home/svn/project2

4. 为了便于管理,将全部版本库的密码和权限设置在同一个文件下面,操做步骤以下:
    4.1 取出project1下面conf文件夹下的authz和passwd两个文件到svn根目录下面
    4.2 修改每一个版本库目录conf文件夹下面的svnserve.conf文件, 将

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

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

           (password-db = ../../passwd,authz-db = ../../authz表明相对路径而非绝对路径)
服务器


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

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

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

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


6. 下面添加角色
spa

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

       (svnadmin控制全部项目,统一管理)
3d


7. 为角色分配权限:
       假设(quxin是project1的项目经理,huzhixin是project2的项目经理,dev一、dev2是project1 的开发人员,dev三、dev4是project2的开发人员,test1是             project1的测试人员,test2是project2的测试人员)

       库目录及具体权限以下图所示:
       
    具体权限:(根目录下,svnadmin拥有全部权限,其余人只有读权限,要设置子目录权限,需设置子目录上级的权限方可,设置个别文件权限以下:)
    

8启动svn服务

    8.1一次启动
   
   
   
   
sudo svnserve -d -r /home/svn
查看是否启动成功,可看的监听3690端口
   
   
   
   
sudo netstat -antp |grep svnserve
    
    
    
    
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 28967/svnserve
若是想关闭服务,可以使用pkill svnserve

 8.2.开机自启动svn
在/etc/init.d目录创建一个脚本文件svnd.sh
   
   
   
   
cd /etc/init.dtouch svnd.shchmod +x svnd.shvi svnd.sh
输入以下内容:
   
   
   
   
#!/bin/bash#svnserve startupsvnserve -d -r /ysh/svn
更新修改权限:
   
   
   
   
update-rc.d svnd.sh defaults
(若提示权限不足,请用sudo执行)


9 工具
SVN 服务器端:Subversion 1.5 ,客户端 TrotoiseSVN 1.5 ( https://tortoisesvn.net/downloads.html)

10访问版本库地址
   
   
   
   
svn://172.16.26.28/project1
    
    
    
    
svn://172.16.26.28/project2





相关文章
相关标签/搜索