实现SVN与WEB同步,可以CO一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。

准备阶段:检查是否存在svn版本库

spacer.gifwKioL1nbHTrwC5gMAAAWFRLPLFY921.png


第一步:建立或进入你的web程序目录

[root@log html]# cd /home/zyy/

在web程序目录下执行操作 (svn checkout可以简写为co)

svn checkout svn://192.168.110.247/test              //不重命名文件夹,直接在当前目录下检出

svn checkout svn://192.168.110.247/test web          //检出文件并且重命名文件夹

spacer.gifwKioL1nbHWqjEPAEAAAXGh3g9KA504.png


第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】

添加脚本内容如下

export LANG=en_US.UTF-8

SVN=/usr/bin/svn            # 这里配置的是svn安装bin目录下的svn文件,yum安装的svn一般不需要改

WEB=/home/zyy/web     # 要更新的目录

$SVN update $WEB --username zyy --password  zhouyuyao

# 其中SVN= 右边改成 svn 命令位置

# WEB= 右边改成你实际的web目录

96d52661f5563442c8dc126d37f8566a.pngspacer.gif


第三步:让post-commit有执行的权限

chmod a+x post-commit

第四步:这里就已经完成了,第四步就是测试了。

第五步:在Windows上连接该版本库(注:本地需安装svn客户端)

spacer.gifwKioL1nbHcCShGqvAAAoBAgVwC4714.png


检出结果如下:

spacer.gifwKiom1nbHkKx1vVgAAAstN3oR80675.png


在里面增加一个 “4” 的文件夹,然后提交。然后在服务端web目录可以看到,已经存在新增的 “4” 文件夹。

spacer.gife84e51f7514b3dfc3ae9aff57be319df.png


以上就是配置svn钩子的内容。