LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)

时间:2022-09-17 17:27:12

安装采用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. 正则匹配中文 UTF-8 & GBK

    在php 中: //GB2312汉字字母数字下划线正则表达式 GBK: preg_match("/^[".chr(0xa1)."-".chr(0xff).&qu ...

  2. 如何启动app时全屏显示Default.png(图片)?

  3. 【bzoj1060】[ZJOI2007]时态同步

    题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3-.进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点 ...

  4. Walls and Gates

    You are given a m x n 2D grid initialized with these three possible values. -1 - A wall or an obstac ...

  5. 【问题&解决】手机网页Html代码实现(解决显示页面很小的问题)

    工作需要,要做一个手机自适应的网页效果,终于搞定,先分享并记录! 其实主要就是改掉HTML页面声明: 在网页中加入以下代码,就可以正常显示了: <meta name="viewport ...

  6. http&colon;&sol;&sol;blog&period;csdn&period;net&sol;yangyuhan156&sol;article&sol;details&sol;48899439

    http://blog.csdn.net/yangyuhan156/article/details/48899439

  7. Day02&lowbar;JAVA语言基础第二天

    1.常量(理解) 1.概念         在程序运行过程中,其值不会发生改变的量 2.分类(掌握) A .字面值常量 整数常量:1,2,-3 小数常量:2.3,-232.3 字符常量:'A' 字符串 ...

  8. Activity 状态的保存和恢复

    Activity状态保存的两种情况 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的时候,突然来了一个电话,这个时候在接听完电话之后我们返回到游戏中,这 ...

  9. gc内存回收机制

    判断哪些对象可回收 GC是通过对象是否存活来决定是否进行回收,判断对象是否存活主要有两种算法:引用计数算法.可达性分析算法 引用计数算法 引用计数的算法原理是给对象添加一个引用计数器,每被引用一次计数 ...

  10. Django学习笔记(1)--第一个项目

    操作系统:Windows Python版本:python3.6 前置工作: pip install virtualenvwrapper #安装虚拟环境管理包 1.创建虚拟环境 mkvirtualenv ...