1、安装
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql -y
2、查看版本
svnserve --version
3、创建库并修改配置文件
 创建库:
创建所有库的父目录
mkdir /opt/svn
创建库1和库2
[root@localhost opt]# mkdir /opt/svn
[root@localhost opt]# svnadmin create /opt/svn/repo1
[root@localhost opt]# svnadmin create /opt/svn/repo2
将repo1中生成的config文件夹中authz文件和passwd文件复制一份到/opt/svn/conf文件夹下,使用该目录下的配置文件为所有库提供认证的账号密码
[root@localhost ~]# mkdir /opt/svn/conf
[root@localhost ~]# cp /opt/svn/repo1/conf/authz /opt/svn/conf/
[root@localhost ~]# cp /opt/svn/repo1/conf/passwd /opt/svn/conf/
[root@localhost ~]# ls /opt/svn/conf/
authz passwd
添加svn用户登录账号密码
[root@localhost ~]# cat /opt/svn/conf/passwd
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
armo = passwd
[root@localhost ~]#
给新用户armo授权,定义用户armo和armo1都属于dev组,在repo的根“[/]”下,dev组有读写权限
[root@localhost ~]# cat /opt/svn/conf/passwd
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
dev = armo,armo1
[/]
@dev = rw
将所有库配置文件调用的账号文件和权限文件指向统一配置文件,该配置文件中所有配置必须在行首开始,否则无法识别
[root@localhost ~]# vi /opt/svn/repo1/conf/svnserve.conf
[root@localhost ~]# vi /opt/svn/repo2/conf/svnserve.conf
[root@localhost ~]# more /opt/svn/repo1/conf/svnserve.conf | grep =
#匿名账号权限
anon-access = none
#认证账号权限
auth-access = write
#指向全局密码文件
password-db = /opt/svn/conf/passwd
#指向全局授权文件
authz-db = /opt/svn/conf/authz
4、启动svn

  svnserve -d -r /opt/svn
        -d以守护模式启动进程
        -r /opt/svn 指向所有库的父目录
5、下载安装客户端
        下载对应32位或64位客户端进行安装
        安装过程中选择will be installed on local hard drive 
       
6、客户端连接SVN服务,开始第一个项目
    在客户端桌面,右键,选择SVN checkout
   
    进行账号认证 armo 密码 passwd,第三步设置的账号密码
   

    打开本地对应目录:D:\svntest\repo1,开始项目,测试创建文件并提交。
    新建文件后,在D:\svntest\repo1文件夹中,右键,选择SVN commit进行提交代码。
    SVN update从服务器上更新代码到本地
    SVN commit将本地代码提交至服务器
   
    提交到服务器的代码已二进制格式保存在/opt/svn/repo1/db/revs/0中,此时如果有新客户端进行check out,则会从服务器上同步已经提交的product文件夹和1.txt到新客户端本地
7、设置HOOKS,实现提交到SVN服务器的代码同步到目标目录当中
      在/opt/svn/repo1/hooks/中将post-commit.tmpl复制一份为post-commit,并且赋予执行权限,该hook在客户端执行commit之后会执行一次

  [root@localhost ~]# cp post-commit.tmpl post-commit
[root@localhost ~]# vi /opt/svn/repo1/hooks/post-commit
增加以下几行
export LANG=en_US.UTF-
#将提交的文件在/tmp/svn_up文件夹中进行更新同步
/usr/bin/svn update --username armo --password passwd /tmp/svn_up
#使用rsync同步文件到目标文件夹,不包含.svn文件
rsync -av --delete /tmp/svn_up/ /www/site/ --exclude=.svn
    设置完该HOOKS之后,客户端提交的代码,会先使用svn update更新一份到/tmp/svn_up中,在使用rsync同步一份到需要的站点目录下,完成自动上线

subversion(SVN)服务配置及使用方法的更多相关文章

  1. subversion(SVN)安装配置

    简介subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.Subversion是一个版本控制系统,相对于的RCS. ...

  2. svn服务配置和日常维护命令

    Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux AS3  AS 4   ContOS AS 4 安装包获取: 下载[url]ht ...

  3. CentOS7之SVN服务配置

    操作系统:CentOS Linux release 7.2.1511 (Core)    Subversion软件版本:subversion-1.7.14-10.el7.x86_64 1.首先检查sv ...

  4. svn服务配置

    1关闭所有svn服务 nie-xiao-bo-mac-pro:svnproject mac$ killall -9 svnserve 2.开启某文件路径svn服务 nie-xiao-bo-mac-pr ...

  5. SVN的配置与使用方法

    1.所选服务器安装包:VisualSVN-Server-2.1.3.msi. 2.客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi 一.服务器的安装 ...

  6. linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子

    参考http://my.oschina.net/junn/blog/164041 http://songxj.blog.51cto.com/620981/396113 http://5iwww.blo ...

  7. SVN详细配置与使用 ——一步步教会您使用

    项目管理在项目开发活动中起到非常重要的作用,而对于初学者来说学习有一定的难度,且不说如何使用,就是搭建过程恐怕也要费一般周折,介于此下面就通过图解的方式一步一步详细的教大家如何使用SVN,你只要耐心的 ...

  8. Linux svn服务的搭建

    一.yum安装svn yum -y install subversion   二.查看已安装的svn版本信息 svnserve --version   三.创建一个代码库 1.先创建一个目录 mkdi ...

  9. Ubuntu Server搭建svn服务以及迁移方法【转】

    转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...

随机推荐

  1. Nginx优化防爬虫 限制http请求方法 CDN网页加速 架构优化 监牢模式 控制并发量以及客户端请求速率

    Nginx防爬虫优化 Robots协议(也称为爬虫协议,机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...

  2. C#汉字转换拼音技术详解(高性能)

    public static class ChineseToPinYin { private static readonly Dictionary<<span class="key ...

  3. Android中图片的三级缓存

    为什么要使用三级缓存 如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量.在当前的状况下,对于非wifi ...

  4. Steps 步骤条

    引导用户按照流程完成任务的分步导航条,可根据实际应用场景设定步骤,步骤不得少于 2 步. 基础用法 简单的步骤条. 设置active属性,接受一个Number,表明步骤的 index,从 0 开始.需 ...

  5. 七十六:flask.Restful之flask-Restful插件的基本使用

    安装:flask 0.8以上.python2.6或者3.3以上:pip install flask-restful 使用方法:1.从flask_restful中导入Api,来创建对象 2.写一个视图函 ...

  6. Returning array from function in C

    以下为了通俗易懂,使用意译. I've here very intersting discussion about the best and common ways to return an arra ...

  7. Bloomber 新建基金账户步骤

    --Bloomber 新建基金账户步骤0.执行FIRM命令1.新建account group2.新建account3.将account加入到account group4.将account group授 ...

  8. Servlet(3):Cookie

    概念 Cookie是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet支持HTTP Cookie. 识别返回用户包括三个步骤: (1) 服务器脚本向浏览器发送一组Cooki ...

  9. 走进异步编程的世界 - 在 GUI 中执行异步操作

    转载:https://www.cnblogs.com/liqingwen/p/5877042.html 走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://w ...

  10. 【学习笔记】APP页面,随机选择一个选项

    如下页面,一个测评功能,30个题目,每题的答案选项一样: 要实现每题自动随机选择一个答案 方法一:定义一个5个选项的列表,循环30次,然后使用random.shuffle打乱列表顺序,根据列表元素定位 ...