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. WOE1-Feature Selection 相关:一个计算WOE和Information Value的python工具

    python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...

  2. 只需体验三分钟,你就会跟我一样,爱上这款Toast

    只需体验三分钟,你就会跟我一样,爱上这款Toast https://www.jianshu.com/p/9b174ee2c571

  3. vue.js 三种方式安装

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  4. LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

  5. Selenium 2自动化测试实战31(跳过预期和预期失败)

    跳过预期和预期失败 在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest提供了实现这些需求的装饰器. --unittest.s ...

  6. CTF—攻防练习之HTTP—目录遍历

    主机:192.168.32.152 靶机:192.168.32.163 目录遍历攻击又称(目录爬升,目录回溯,点-点斜线),指再访问存储在web根文件之夹外的文件和目录,通过操控带有"点-斜 ...

  7. app测试自动化之混合APP(之前的三篇为原生APP的操作)

    混合开发的App中,经常会有内嵌的H5页面:定位方法与原生APP不同,需要上下文切换 #获取所有上下文contexts=dr.contextsprint(contexts)#打印当前上下文(有点问题应 ...

  8. Python爬虫学习==>第八章:Requests库详解

    学习目的: request库比urllib库使用更加简洁,且更方便. 正式步骤 Step1:什么是requests requests是用Python语言编写,基于urllib,采用Apache2 Li ...

  9. Ubuntu重启关机命令

    重启命令 :  1.reboot 立刻重启 2.shutdown -r now 立刻重启 3.shutdown -r 10 过10分钟自动重启 4.shutdown -r 20:35 在时间为20:3 ...

  10. webdriervAPI(元素等待)

    from  selenium  import  webdriver from selenium.common.exceptions import NoSuchElementException driv ...