天天看点

svn配置钩子自动更新web目录

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

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

<a href="https://s4.51cto.com/wyfs02/M02/A6/C7/wKioL1nbHTrwC5gMAAAWFRLPLFY921.png" target="_blank"></a>

第一步:建立或进入你的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          //检出文件并且重命名文件夹

<a href="https://s3.51cto.com/wyfs02/M00/A6/C7/wKioL1nbHWqjEPAEAAAXGh3g9KA504.png" target="_blank"></a>

第二步:在项目库的 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目录

<a href="https://s3.51cto.com/oss/201710/20/96d52661f5563442c8dc126d37f8566a.png" target="_blank"></a>

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

chmod a+x post-commit

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

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

<a href="https://s5.51cto.com/wyfs02/M02/A6/C7/wKioL1nbHcCShGqvAAAoBAgVwC4714.png" target="_blank"></a>

检出结果如下:

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

<a href="https://s4.51cto.com/oss/201710/20/e84e51f7514b3dfc3ae9aff57be319df.png" target="_blank"></a>

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

 本文转自 归来仍少年 51CTO博客,原文链接:http://blog.51cto.com/shaoniana/1970915

继续阅读