安装采用YUM一键安装:

1.环境Centos 6.6

2.安装svn
yum -y install subversion

3.配置

建立版本库目录
mkdir /www/svndata

svnserve -d -r /www/svndata

4.建立版本库

创建一个新的Subversion项目
svnadmin create /www/svndata/project

5.版本库配置

进入对应的版本库如nilrxx,里面有一些自动给生成的文件。在conf目录下就是我们需要配置的三个文件:authz  passwd  svnserve.conf

现只记录我得成功配置如下:

  5.1:打开svnserve.conf,打开下面这条语句的注释就行

      password-db = passwd

  5.2:打开passwd文件,加入一个用户并制定密码即可

      ruanwenwu = 123456

6.开启svn服务

  6.1: svnserve -r -T -d /www/svndata

     解释:后面跟着的时仓库目录,并不是项目目录

  6.2:将这个命令加入到开机启动:

     vi /etc/rc.local

    将6.1的命令加入到文件中即可

7.这时就可以将项目目录import到我们的项目仓库了

  7.1:进入我们的项目目录比如:/home/wwwroot/www.doubilaile.com

     cd /home/wwwroot/www.doubilaile.com

  7.2: svn import ./ svn://192.168.1.233/project

     运行这条命令可能出现$svnEditor环境变量的问题,只需要运行这条命令就行了:export SVN_EDITOR=vim

    命令执行成功会弹出一个日志文件编写输入的情况,随便写两句保存即可。到这里项目就被导了进来。

8.到这里就可以打开window的svn客户端checkout项目了,路径是svn://192.168.1.233/project

 如果碰到目标计算机积极拒绝的情况,请检查LINUX是否开启了防火墙,如果开启了就关闭。

 查看防火墙状态:sevice iptables status;

关闭防火墙:service iptables stop;

 永久关闭: chkconfig iptables off;

我们经常需要提交代码后同时在LINUX环境下进行测试。怎么办呢?可以利用svn的hook来解决。

利用SVN的钩子同步更新代码的方法详解

先普及一下小常识
SVN的钩子,即hook(在每个版本库下有hooks文件夹,里面有很多钩子程序,我的目录是/home/svn/fitness/hooks/)。在subversion执行一个操作时,就会相应的首先去调用相关的钩子程序。
 
 
我们在开发时都会建立测试环境,不需要每个人都Update到本地再测试。
基于SVN的这种特性,要想实现一个同步的测试服务器,我们只需要在用户执行完毕commit操作后,让钩子程序自动更新测试服务器的文件即可。
 
 
 
有了这样的思路,我们就开始建立post-commit的钩子吧
 
1、在网站的目录下,使用checkout命令建立一个副本 #svn co SVN_URL /var/www/mySite/
  例如:svn co svn://192.168.1.233/project /var/www/www.doubilaile.com/
  这句话的意思其实就是将仓库中得代码checkout到/var/www/www.doubilaile.com/这个目录下。
 
2、现在设置钩子,复制仓库project中的/hooks/post-commit.temp文件为post-commit,并修改文件的权限#chmod 755 post-commit
 
3、编辑post-commit,把以下代码写入

#!/bin/sh

export LANG=zh_CN.GBK

svn update --username ruanwenwu --password 207099 /home/www/www.doubilaile.com

 
第一条命令是window本地字符编码,第二条是同步 
大功告成,可以使用了。关于这个post-commit文件,可以完全采用上面的语句,不用管默认的。亲测可以通过。至此,一个完整的SVN同步,并在测试环境下同步的工作便完成了。 

    

LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)的更多相关文章

  1. linux下svn安装、配置及钩子

    一.安装 直接运行命令用YUM安装: yum install subversion -y   二.创建svn版本库目录 mkdir -p /var/svn/svnrepos   三.创建版本库 生成文 ...

  2. Linux/CentOS环境下如何安装和配置PhantomJS工作环境

    PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...

  3. GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...

  4. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  5. Mac 环境下svn服务器的配置

    Mac 环境下svn服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Torto ...

  6. Linux环境下mysql安装并配置远程访问

    环境:centOS 1.下载mysql安装文件 [root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el ...

  7. 【转载】Ubuntu下SVN安装和配置

    一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...

  8. Ubuntu下SVN安装和配置

    一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...

  9. CentOS7 Zabbix4.0环境下的安装和配置实例

    1.安装准备 Zabbix4.0对基础架构有一定的要求,对的英文尤其PHP状语从句:MySQL: 类型 内容 服务端运行环境 Linux和PHP与Web服务器和数据库 服务端操作系统 CentOS7. ...

随机推荐

  1. String,StringBuffer,StringBuilder的区别及其源码分析

    String,StringBuffer,StringBuilder的区别这个问题几乎是面试必问的题,这里做了一些总结: 1.先来分析一下这三个类之间的关系 乍一看它们都是用于处理字符串的java类,而 ...

  2. datepickerpopup时间限制选取

    使用popup组件的过程中遇到时间选取的问题 官方文档大致说使用date和mode 可以解决,奈何老夫是看不懂,写的时候参考的有 官方文档.echo2016的博文.liumang361的博文 先看图 ...

  3. JDFS:一款分布式文件管理系统,第四篇(流式云存储续篇)

    一 前言 本篇博客是JDFS系列博客的第四篇,从最初简单的上传.下载,到后来加入分布式功能,背后经历了大量的调试,尤其当实验的虚拟计算结点数目增加后,一些潜在的隐藏很深的bug就陆续爆发.在此之前笔者 ...

  4. mysql 时间函数 时间转换函数

    时间函数 Now 获取当前时间 current_timestamp 获取当前时间 localtimestamp 时间转换 UNIX_TIMESTAMP    "2009-09-15 00:0 ...

  5. Ubuntu中MongoDB安装

    在Ubuntu中MongoDB有时候启动不起来,可以参考以下方法从新安装: 1.导入包管理系统使用的公钥 Ubuntu 的软件包管理工具(即dpkg和APT)要求软件包的发布者通过GPG密钥签名来确保 ...

  6. html基础知识笔记

    HTML基础 1.1HTML文件的基本结构和W3C标准 1.1.1HTML简介 HTML是一种描述网页的语言,一种超文本标记的语言! 1.1.2HTML文件的基本结构 头部(head) 头部是网页的标 ...

  7. 关于xamarin.forms 中 list 的loadmore

    前言 最近几天在研究上拉加载啊,下拉刷新啊什么的.然而坑爹的事情总是那么多.在xamarin.forms中,list自带的,并没有上拉加载的这个属性(难道当初他们封装方法时,就不会想到数据多了会咋整吗 ...

  8. 关于Websockets问题:

     Websockets是一种与服务器进行全双工,双向通信的信道,它不使用http协议,他有自己的协议即自定义协议,ws协议:它的安全协议为wss协议.这种协议专门为快速传输小数据而设计的.对服务其有一 ...

  9. Mybatis了解(配置)

    Mybatis是一个基于jdbc映射框架.它跟hibernate一样都是对数据库进行操作的.Mybatis 它是通过配置xml或者是注解来进行映射的配置,最后实现操作接口与pojo来操作数据库. 因此 ...

  10. jQuery和AngularJS的区别

    这篇文章主要介绍了jQuery和AngularJS的区别浅析,本文着重讲解一个熟悉jQuery开的程序员如何应对AngularJS中的一些编程思想的转变,需要的朋友可以参考下   最近一直在研究ang ...