通过VisualSVN的POST-COMMIT钩子自动部署代码

来源:互联网 发布:文明6 mac 中文 编辑:程序博客网 时间:2024/06/11 21:08

这段时间我们一直规划LSGO Group的学习网络平台,需求部分已经规划完毕,说做就做,开始搭建环境,由于利用PHP+MYSQL技术,在服务器端首先安装了WAMPServer,以便提供Apache服务与MYSQL服务!


在代码的管理方面,我们利用Visual SVN来对大家的代码版本化。这样一个问题就出现了,怎样把提交的代码,及时同步到wamp的www目录下呢?


首先,安装VisualSVN Server,安装完毕后,Create New Repository,例如叫做lsgoWeb,来存放我们的代码。如下图所示:


其次,写钩子程序post-commit.bat,该程序放置在所创建Repository的hook目录下,如本人的钩子程序放在F:\Repositories\lsgoWeb\hooks目录下。

钩子程序如下:

@echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET WORKING_COPY=F:\wamp\wwwSET PATH=%PATH%;svn update %WORKING_COPY% --username lsgo_Ma --password 123


其中,WORKING_COPY为你所要同步到wamp的www目录,username为lsgo_Ma,password 为123 这里是使用该Repository用户的权限,如果不指定使用权限,则只要该Repository发生变化,就同步到设置的目录中,即最后一行代码修改为:

svn update %WORKING_COPY%


再次,重新启动VisualSVN的服务,这个是必须的昂!


最后,测试刚才的钩子程序。我们先在桌面的lsgoWeb文件夹中CheckOut一份代码,在wamp的www目录中CheckOut一份代码,修改桌面lsgoWeb文件夹中的代码并进行提交Commit,然后发现wamp的www目录下面对应的代码被修改了!

是不是很方便,利用钩子,我们开发网站的小伙伴就不用霸占团队的服务器来调试代码啦!

0 0