前言:公司要求搭建一台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代码版本服务器的更多相关文章

  1. linux下搭建svn代码库

    1.安装svn客户端 2.创建svn代码库 1.安装svn客户端 1.1.使用命令安装 1)CentOS $ yum install subversion 2)ubuntu sudo apt-get ...

  2. 常见企业IT支撑【3、SVN代码版本控制系统】

    代码版本控制系统有人喜欢用SVN,有人喜欢用GIT     1.环境   os:centos7 apache:2.4.6 python:2.7  --自带 submin2:2.2.1   2.安装ap ...

  3. ubuntu搭建Gerrit代码审核服务器

    谷歌的 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的 repo,另外一个重要的创新就是 Gerrit —— 代码审核服务器.Gerrit 为 git 引入 ...

  4. 使用phpstorm提交svn代码版本管理系统遇到的问题解决办法

    1.当自己提交代码的时候显示out of date的时候,表示我们本地的代码过时啦,需要更新一下再提交. 即:更新一下再提交即可. 2.当自己的代码和服务器上的冲突的时候,我们右键点击冲突的文件,选择 ...

  5. CentOS7:搭建SVN + Apache 服务器

    1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apach ...

  6. Centos7 下搭建SVN + Apache 服务器

    1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apach ...

  7. Centos 下搭建SVN + Apache 服务器(转载)

    安装软件包 ? 1 # yum install httpd ? 1 # yum install mod_dav_svn ? 1 # yum install subversion 2.  验证安装 ? ...

  8. ubuntu搭建svn服务器并htpp访问版本库并svn与web同步

    Ubuntu搭建SVN服务器多版本库 1  介绍   Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可 ...

  9. SVN版本服务器的搭建和远程控制

    版本服务器是用SVN server(这个东西是放到版本机服务器上的)  版本管理工具是用小乌龟(tortoiseSVN,这个是在各个机器上使用) 1,昨天下载了SVN server 按照网上教程搭建好 ...

随机推荐

  1. HTML5+CSS3实现图片可倾斜摆放的动画相册效果

    先看看效果:其中鼠标悬浮在图片上会有动态效果图 直接上代码: css文件 @CHARSET "UTF-8"; *{ padding:0px; margin:0px; } div{ ...

  2. jQuery-1.9.1源码分析系列(十) 事件系统——主动触发事件和模拟冒泡处理

    发现一个小点,先前没有注意的 stopPropagation: function() { var e = this.originalEvent; ... if ( e.stopPropagation ...

  3. React Native系列文章

    React Native版本升级的正确姿势 WebView JS与RN进行通讯 用API网关把API管起来 React-Native 给客户端来个「同音词模糊搜索」 30天React Native从零 ...

  4. EF 的 霸气配置,秒杀一切

    通过EF 作为操作数据库的工具有一段时间了,也做了几个相对不大的项目,慢慢的也对EF的使用摸索出来了一些规则,虽然说不是技术难点,但是,我说的是但是,能够提高我们开发效率的棉花糖有时我们还是必须要吃的 ...

  5. C#使用资源文件的方法

    其实,对于资源文件的使用,说白点就是通过强制类型转换,将资源文件里的数据强行的转换成你需要的(换种方式说,就是你原来存进去什么,就用什么类型拿出来). 主要通过System.Resources.Res ...

  6. input框中的name和id的区别

    1. 可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而 ...

  7. php中用GD绘制折线图

    php中用GD绘制折线图,代码如下: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // 定 ...

  8. 从零开始学Python第八周:网络编程基础(socket)

    Socket网络编程 一,Socket编程 (1)Socket方法介绍 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Soc ...

  9. java timer 执行任务

    1. 建立timer import java.util.Timer; import java.util.TimerTask; public class Start { public class Sta ...

  10. python征程1.4(初识python)

    1.列表解析. (1)这是一个,让人听起来十分欣喜的术语,代表着你可以通过一个循环将所有值放到一个列表中.python列表解析属于python的迭代中的一种,相比python for循环速度会快很多. ...