利用svn钩子hooks/post-commit实现代码自动更新

建立SVN服务器 和 安装SVN客户端的我就不叙述了。

利用SVN的hook功能就能实现将SVN服务器上的数据同步到Web服务器,思路:首先,找到SVN Server中的仓库(Repositories)文件夹的位置,在相应的项目文件夹中找到hooks文件夹。然后,在该文件夹中添加一个post- commit文件;当有commit动作发生时(提交到SVN Server时)就会执行这个post-commit.bat文件。最后,在该文件实现数据的复制。如下图所示:
20170322143430829.png

使用钩子(将post-commit.tmpl文件复制一份重命名为post-commit.bat)
post-commit.bat里的内容如下所示:

SET WORKING_COPY=c:\sdk
svn update %WORKING_COPY% --quiet --username 用户名 --password 密码

最后一步也是最关键的一步就是SVN服务端权限的问题。否则你会出现如下图的错误:
20170322144352631.png

原因是Visual SVN Server服务的执行权限不够,不能对指定目录做读写操作。解决办法,修改Visual SVN Server简单操作 win+R 运行 services.msc 找到visual svn server 服务,右键属性-》登陆面板-》设置桌面交互或者管理员权限再试。两种方式,我选择的管理员权限-下图选择的桌面交互:

20170322145041949.png

设置完毕顺利的话基本完成了工作。

那么我出现了几种问题。我就不图示了,我解答下:
1.服务器上的客户端SVN版本,一定要和本地的SVN版本一致。
2.visual svn server 服务 修改过后要重启服务。
3.一般提示svn cleanup 的,可以找到您的SVN文件目录,在CMD下执行svn cleanup此命令。

好就写到这里,如果有不懂的可以联系我。大家讨论。谢谢。

最后修改:2018 年 02 月 03 日 11 : 18 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论