设为首页 收藏本站
查看: 1073|回复: 0

[经验分享] SVN服务器在Ubuntu16.04下搭建多版本库详细教程

[复制链接]

尚未签到

发表于 2019-2-18 11:16:55 | 显示全部楼层 |阅读模式
  1  介绍
Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可 以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。


  • 安装和服务器搭建
    执行下列指令安装
    sudo apt-get install subversion
  3  创建版本库
3.1先创建目录文件夹
sudo mkdir /home/svn
sudo mkdir /home/svn/project1
sudo mkdir /home/svn/project2
3.2创建第一个项目project1 第二个项目project2
svnadmin create /home/svn/project1
svnadmin create /home/svn/project2


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

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

       anon-access = none ,auth-access= write,password-db = ../../passwd,authz-db = ../../authz
    (password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径)
  •   定义一下几个角色用来测试
      5.1 配置管理员(svnadmin),用来管理整个库
      5.2 项目经理(manage),用来相关管理文档
      5.3 开发人员 (dev),测试开发是否正常

  •   下面添加角色
      打开svn目录下的passwd文件,创建方法是在[user]下面添加 username = passwd,记得“=”前后的空格,如下图:
      (svnadmin控制所有项目,统一管理)




  •   为角色分配权限:
    假设(quxin是project1的项目经理,huzhixin是project2的项目经理,dev1、dev2是project1 的开发人员,dev3、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.d
    touch svnd.sh
    chmod +x svnd.sh
    vi svnd.sh
    输入如下内容:
    #!/bin/bash
    #svnserve startup
    svnserve -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




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673912-1-1.html 上篇帖子: ubuntu下source、sh、bash、./执行脚本的区别详细介绍 下篇帖子: ubuntu设置开机或者登陆或者退出时自动运行的方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表