Centos7搭建SVN代码控制服务器

  • 检查SVN是否安装
  • 创建SVN版本库
  • 配置代码库
  • 设置允许访问远程仓库的用户帐号密码
  • 设置权限控制
  • 设置SVN服务配置
  • 启动svn与停止
  • 启动SVN
  • 关闭SVN
  • 访问拉取远程仓库代码


检查SVN是否安装

1、centos7系统自带SVN

rpm -qa subversion

centos 7 终端管理员_运维


2、如果没有则通过yum安装

yum install subversion -y

3、检查已安装版本

svnserve --version

centos 7 终端管理员_服务器_02

创建SVN版本库

1、创建项目的根目录(项目要存放的仓库),任意目录都可,习惯放在/home/svn

mkdir -p /home/svn

2、创建项目要存放的位置(必须要在/home/svn根目录下创建)

svnadmin create /home/svn/gulimall

3、查看创建的项目目录

centos 7 终端管理员_服务器_03

配置代码库

进入版本库/home/svn/gulimall/conf文件夹下

centos 7 终端管理员_运维_04

  • authz:权限控制文件
  • passwd:帐号密码文件
  • svnserve.conf :SVN服务配置文件

设置允许访问远程仓库的用户帐号密码

vim  passwd

centos 7 终端管理员_svn_05


编辑完后,按Esc键退出编辑模式,输入:wq! 保存文件并退出

注意:这里设置的用户名密码是用于svn://协议访问代码仓库使用的

设置权限控制

vim authz

centos 7 终端管理员_centos 7 终端管理员_06


1、项目开发中可能有开发组、测试组、实施组…。不直接对特定用户设置权限,而是对组进行授权,将用户加入该组,对应不同的权限。

2、版本库(gulimall)可能会建立多个目录文件(trunk、branches、tags)。来方便项目的管理。可以对不同的项目目录设置不同的用户组访问权限。

  • trunk是主分支,是日常开发进行的地方。
  • branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。
  • tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。

设置SVN服务配置

vim svnserve.conf

释放如下几行的注释

centos 7 终端管理员_svn_07


到此,svn版本仓库已经搭建完毕了

启动svn与停止

启动SVN

svnserve -d -r /home/svn

让svn以deamon守护进程方式 以root用户启动运行。

注意,这路径不能到gulimall版本库,否则在访问时候会报svn: E170000: URL 'svn://192.168.56.10/gualimall' doesn't exist

查看SVN进程

ps aux | grep svn

centos 7 终端管理员_版本库_08

关闭SVN

关闭SVN直接杀进程即可

# kill -9 PID
kill -9 8733

killall svnserve

访问拉取远程仓库代码

1、使用TortoiseSVN客户端工具,SVN Checkout拉取远程仓库代码

centos 7 终端管理员_服务器_09

centos 7 终端管理员_版本库_10


输入passwd文件中分配的用户名密码

centos 7 终端管理员_版本库_11

2、本地库创建目录并add本地库---->commit提交到远程库add本地库

centos 7 终端管理员_运维_12

commit提交到远程库

centos 7 终端管理员_svn_13


4、填写日志并提交

centos 7 终端管理员_svn_14


5、查看远程版本库中提交的项目

centos 7 终端管理员_centos 7 终端管理员_15

centos 7 终端管理员_svn_16

  1. trunk是主分支,是日常开发进行的地方。
  2. branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。
  3. tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。