Mac SVN服务器搭建SVNSVN系列教程

如何利用SVN钩子自动更新网站

2018-02-12  本文已影响193人  呱星人

钩子是什么?其实和回调是一个概念,当某个事情发生时就会调用你提供的方法

利用好SVN钩子可以大大的方便你的开发

比如web开发人员,每次提交了代码都需要手动到服务器更新下代码才能看到效果。

今天我就教大家如何利用钩子自动化更新。

SVNBucket,钩子配置页面

如果你还没有SVNBucket帐号,点击注册

如上图,点击添加钩子,我们需要填入链接、token、触发条件

链接:就好像我们的回调方法,在你提交代码后就会自动调用这个链接,你收到调用后就可以执行代码更新了。

token:是一个可选的参数,在调用链接时会带上这个参数,可以用来检查调用是否来自SVNBucket。这里可以随意填写一个自己想要的参数就行了

触发条件:触发条件我们选择提交后,这样代码提交之后就会调用链接。

那么我们的链接填写什么呢?你需要自己写一个http服务,用来接收调用。

下面我以Python代码为例(PHP版本看文章最后),写一个简单的http服务来接收调用:

自动更新处理服务

这里我们用python的bottle框架搭建了一个简单的http服务来处理代码更新。根据这个可以自己实现一个其他语言的版本

POST请求会带上的参数有:

event:事件名字,有start-commit(提交前), post-commit(提交后)

token:校验字符串

rev:版本号( post-commit 事件才有值)

log:提交描述内容( post-commit 事件才有值)

user:提交者用户名

在收到请求后我们就执行了一个shell脚本,这个shell脚本就是调用svn update去更新我们的代码了。

假设你的服务器IP是119.29.35.39,http服务的端口是8080,那么我们就应该配置上面的链接地址为:http://119.29.35.39:8080/afterCommit

钩子的配置

配置好了后,我们可以点击测试按钮进行测试,这样就会手动的触发一次链接请求,并且在下面区域显示调用记录、是否成功

调用记录

好了,一个简单的钩子就配置完成

PS:热心网友提供的PHP版本

上一篇下一篇

猜你喜欢

热点阅读