当前位置: 首页 > news >正文

CentOS Linux搭建SVN服务器

 

 

一.SVN简介

 

         SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。        

 

         SVN服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。

         下载网址:https://subversion.apache.org/packages.html

 

         本文主要对Centos进行SVN服务器搭建,持续集成Jenkins常需要SVN命令方式执行一些操作。

         如果你喜欢更快更简的方式,请用WindowS版本:VisualSVN Server ,在以上地址页面的最下方下载。

 

二.安装SVN(Linux)

1.安装SVN

yum -y install subversion

注:想快速安装就用Root用户

 

 

2.查看安装内容与位置 

rpm -ql subversion

 

3.建立SVN根目录 

mkdir /data/svn

 

4.新建版本库:TestCode 

svnadmin create /data/svn/TestCode

注:执行完后,/data/svn/TestCode目录下文件说明

 

README.txt   版本库的说明文件
conf              配置文件件夹(后续操作最多的文件夹)
db                SVN数据文件文件夹
format          当前版本库的版本号
hooks           SVN的钩子脚本文件夹
locks            SVN的文件锁相关的文件夹

 

4.TestCode库添加用户、分配权限 

A.配置SVN

vim /data/svn/TestCode/conf/svnserve.conf

anon-access=none     #去除文件前的注释,将read改为none,防止匿名访问
auth-access=write    #去除文件前的注释
password-db=passwd   #去除文件前的注释
authz-db = authz     #去除文件前的注释,访问权限配置,非常重要,不打开,分组权限不生效

 

B.添加访问TestCode用户

vim /data/svn/TestCode/conf/passwd

 

复制代码
[users]
# harry = harryssecret
# sally = sallyssecret
albert=123456
findyou=123456
abc=123456
love=123456
复制代码

注:添加了四个用户

 

 

C.设置添加的用户权限
vim /data/svn/TestCode/conf/authz

 

复制代码
[groups]
g_qa=albert,findyou
g_read=abc

[TestCode:/]        #[<版本库名>:<路径>] 
@g_qa=rw            #<用户组> = <权限>  ,第一种方式
@g_read=r           #<用户名> = <权限>  ,第二种方式
love=r
*=                  #* = <权限>,第三种方式,*为任意用户,此为禁止匿名用户访问
复制代码

注:albert,findyou可读可写,abc、love可读,其他不可访问。

 

 

D.防火墙开放SVN端口通行
iptables -A INPUT -p tcp --dport 3690 -j ACCEPT

 

 

E.开启SVN服务
svnserve -d -r /data/svn

注:命令写入脚本,开机执行,如需要停止SVN,用 “ps -ef|grep svn”  查找到进程;再 " kill -9 进程号 " 即可。

 

F.SVN客户端访问 

svn://IP/TestCode

例:  

7. 启动服务器
#svnserve -d -r /home/svn
8. 测试服务器
svn co svn://192.168.1.00/<repo>
以apple为例:
svn co svn://19.168.1.184/apple
9. 注意
我们的svn是以独立服务器形式运行的,没有和apache做整合,
因为地址svn://xxx/xxx,不是http或https
10. 重启
如果修改了svn配置,需要重启svn服务,步骤如下:
# ps -aux|grep svnserve
# kill -9 ID号
# svnserve -d -r /home/svn

 

 

 

相关文章:

  • 提醒我喝水chrome插件开发指南
  • 进度二
  • mysql数据库主从复制
  • Python_OOP
  • 获取ip地址
  • ajax引用检测用户名是否存在
  • IDEA快捷键笔记
  • JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】
  • 用Metaclass实现一个精简的ORM框架
  • 看不到短期回报,首席财务官们表示对AI并不感冒
  • 杂感一篇
  • 影响存储快照使用率的六大因素
  • 寒假作业02
  • 绝对路径和相对路径
  • rabbitmq延迟消息示例
  • 分享一款快速APP功能测试工具
  • 【Amaple教程】5. 插件
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Docker下部署自己的LNMP工作环境
  • HTML5新特性总结
  • JWT究竟是什么呢?
  • mysql innodb 索引使用指南
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Python_网络编程
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 前端工程化(Gulp、Webpack)-webpack
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • kubernetes资源对象--ingress
  • 昨天1024程序员节,我故意写了个死循环~
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​你们这样子,耽误我的工作进度怎么办?
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (arch)linux 转换文件编码格式
  • (c语言)strcpy函数用法
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (多级缓存)缓存同步
  • (二)换源+apt-get基础配置+搜狗拼音
  • (翻译)terry crowley: 写给程序员
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)为什么要选择C++
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)Oracle存储过程编写经验和优化措施
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core中Emit的使用
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 使用 XPath 来读写 XML 文件
  • .NET 中让 Task 支持带超时的异步等待
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .net通用权限框架B/S (三)--MODEL层(2)