一、安装svn

  # yum -y install svn

二、查看svn版本信息

  # svnserve --version

三、搭建svn版本库(假设项目名称为project)

  1、首先创建版本库目录

  # mkdir -p /var/svn/project

  2、创建版本库

  # svnadmin create /var/svn/project  //版本库路径跟上一步保持一致

  前两步执行完成后 在 /var/svn/project/ 路径下就会创建一些版本配置、日志等文件夹和文件,目录如下

  

  后面主要修改的有 conf/ 和 hooks/ 两个

  conf/

  

  hooks/

  

  3、设置svn账号和密码

  # vi /var/svn/project/conf/passwd  //这里的文件路径可以用相对路径,也可以用绝对路径。例如:当前位置在 /var/svn/project/conf/中,则 #vi passwd 即可打开passwd文件了

  打开文件后,英文状态下按(i)键进入编辑模式,录入账号名和密码。格式 username = password。

  编辑完成后,先点击(Esc)键,然后同时按下(Shift+;),左下角出现(:),这时输入wq点击回车保存修改并退出。(lll¬ω¬)!!! 居然在描述文本文件编辑命令,后面再遇见就不这么详细了喵″

  

  4、设置svn账号的读写权限

  # vi /var/svn/project/conf/authz

  [group]为账号分组情况。格式groupname = username_1,username_2,,,

  [project:/]
  @manager = rw  //赋予manager组成员整个项目的读写权限

  [project:/php]

  @php = rw     //赋予php组成员项目库php分支的读写权限

  [project:/iOS]

  iOS_3 = rw    //赋予账号iOS_3项目库iOS分支的读写权限

  [project:/]

  * = r       //赋予所有成员整个项目读取权限

  保存退出

  

  5、修改项目svn相关配置文件

  # vi /var/svn/project/conf/svnserve.conf

  找到图中白色四行,去掉前面(#)即可,保存退出。

  

  6、启动svn版本库

  # svnserve -d -r /var/svn/

  这里的注意一下,启动svn版本库时路径最好写至svn/,因为后面可以再在该路径下创建其他项目版本库,这样就不必每个项目都启动一个svn进程了。

  7、查看svn进程

  # ps aux | grep svn

  

  8、端口设置

  # firewall-cmd --zone=public --add-port=3690/tcp --permanent  //开启svn端口,如果使用的是阿里云的服务器话,可能就要登陆阿里云控制台配置安全规则,具体配置方法阿里云那边有详细说明。

  # systemctl restart firewalld.service                //重启防火墙

  9、到这里版本库搭建就完成了。可以到本地使用svn工具检出看看

  

四、SVN实现自动更新WEB目录

  前面有描述,svn项目下面有一个hooks/目录,里面存放的是全部的钩子脚本的模板。

  进入svn项目下的hooks/文件

  # cd /var/svn/project/

  新建编辑客户端提交后触发的钩子文件

  # vi post-commit

  编辑内容如下

#!/bin/sh
REPOS="$1"
REV="$2" export LANG='zh_CN.UTF-8' SVN_PATH=/usr/bin/svn
WEB_PATH=/var/www/project
SVN_USER=gaoyi
SVN_PW=gaoyi950815
LOG_PATH=/var/svn/project/log/svn.log echo `datetime: "+%Y-%m-%d %H:%M:%S"` >>$LOG_PATH $SVN_PATH update $WEB_PATH --username $SVN_USER --password $SVN_PW --no-auth-cache >>$LOG_PATH

  保存退出后修改其文件权限

  # chmod 777 post-commit

  这里的钩子文件就编辑完成了。

  接着就到服务器web目录,也就是上面钩子中的WEB_PATH下checkout项目了。操作如下

  # svn checkout svn://192.168.6.74/project/ /var/www/project/

  其中第三部分为svn版本库地址,第四部分为web目录也就是项目地址

  第一次checkout时会要求输入用户名和密码以通过验证。

  checkout成功之后,后面提交的更新就会自动同步到web目录下来了。

  初次编写博客,写得有什么不对或不明了的地方还请各位指正提示!

  谢啦!!☆⌒(*^-゜)v。

Linux centos7系统下svn的安装与配置的更多相关文章

  1. [转]Linux(centOS6.5)下SVN的安装、配置及开机启动

    1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:yum inst ...

  2. Linux(centOS6.5)下SVN的安装、配置及开机启动

    http://www.blogjava.net/rockblue1988/archive/2014/11/19/420246.aspx

  3. linux下svn的安装与配置

    ---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...

  4. nginx在Centos7.5下源码安装和配置

    安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...

  5. windows系统下GCC的安装与配置

    刚开始看 C++ Primer,看到编译器的部分,自己搜了搜怎么搭建GCC,搜到以下内容,复制过来留个印象: windows系统下GCC的安装方法,以及一些环境变量的配置,如果对GCC不是很清楚,关于 ...

  6. CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱

    一.centos7.4 下安装及汉化 =============================================== 2017/11/12_第6次修改                  ...

  7. Linux 下 SVN 的安装和配置

    SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件.目录以及对其进行的修改.于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是由一个SVN服务器和 ...

  8. 第一讲 Windows10系统下IDE-CLion的安装与配置

    01 为什么使用CLion?02 CLion安装方法03 CLion的基本使用04 课程形式及答疑说明 toc 参考链接: Window10上CLion极简配置教程 学生免费注册Pycharm专业版 ...

  9. Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机

    准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS ...

随机推荐

  1. redis基础(一)

    redis是一种流行的非关系内存型数据库,拥有非常高的读写性能,下面是本人学习的总结. redis的类型 键:redis的所有的键都是string类型: 值:五种类型 string:字符串类型:一个s ...

  2. 唐纳德 高德纳给年轻人的建议 Donald Knuth - My advice to young people

    From: Donald Knuth - My advice to young people (93/97) 译者: 李秋豪 原文 Donald Knuth (b. 1938), American c ...

  3. Subscription wildcards(MQTT)

    想查看英文原文的请点击原文网址.本文是paho中讲述订阅通配符的.还是那句话,水平有限,如有翻译不当之处,欢迎指正. 订阅通配符   MQTT信息包含一个主题来进行区分.MQTT服务器使用主题来确定哪 ...

  4. android JSON解析 fastjson和gson的使用

    User user = new User(); user.setPhone("11111111"); user.setNmae("张三"); user.setP ...

  5. MVC系列——一个异常消息传递引发的思考

    前言:最近在某个项目里面遇到一个有点纠结的小问题,经过半天时间的思索和尝试,问题得到解决.在此记录一下解决的过程,以及解决问题的过程中对.net里面MVC异常处理的思考.都是些老生常谈的问题,不多说, ...

  6. 【JS】数据类型

    其他类型转化为boolean类型规则: number:非0为true,0和NaN为false: String:非空为true,空为false: Object:任何对象都为true 任何变量赋值为nul ...

  7. KVO等具体实现步骤以及注意事项

    KVO是一种设计模式,名为观察者. addObserver:forKeyPath:options:context: 通知其他对象的方法,这个方法在NSObject中就已经申明了,也就是说任何继承自NS ...

  8. 【Zookeeper】源码分析之服务器(一)

    一.前言 前面已经介绍了Zookeeper中Leader选举的具体流程,接着来学习Zookeeper中的各种服务器. 二.总体框架图 对于服务器,其框架图如下图所示 说明: ZooKeeperServ ...

  9. Intellj Idea使用tomcat部署不成功,死活也找不到解决办法的看这里

    Intellij 周六晚上开发一个简单web项目的,使用tomcat打包部署,死活也没法部署成功,和这个问题怼了6个小时,也没搞清楚具体为什么不能访问页面,但是好在最后还是找了个方法把问题解决了.以下 ...

  10. nova创建虚拟机源码分析系列之八 compute创建虚机

    /conductor/api.py _build_instance()  /conductor/rpcapi.py  _build_instance() 1 构造一些数据类型2 修改一些api版本信息 ...