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

安装采用YUM一键安装:vim

1.环境Centos 6.6服务器

2.安装svn
yum -y install subversionsvn

3.配置post

创建版本库目录
mkdir /www/svndata测试

svnserve -d -r /www/svndata网站

4.创建版本库编码

建立一个新的Subversion项目
svnadmin create /www/svndata/project日志

5.版本库配置ip

进入对应的版本库如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的钩子吧
 
一、在网站的目录下,使用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/这个目录下。
 
二、如今设置钩子,复制仓库project中的/hooks/post-commit.temp文件为post-commit,并修改文件的权限#chmod 755 post-commit
 
三、编辑post-commit,把如下代码写入

#!/bin/sh

export LANG=zh_CN.GBK

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

 
第一条命令是window本地字符编码,第二条是同步 
大功告成,可使用了。关于这个post-commit文件,能够彻底采用上面的语句,不用管默认的。亲测能够经过。至此,一个完整的SVN同步,并在测试环境下同步的工做便完成了。 
相关文章
相关标签/搜索