记录一次持续集成的代码更新监控两种实现方式

持续集成是一种软件开发的实践,通过持续集成,可以快速完成调试、测试等过程,在软件开发时提高开发效率。
这里的持续集成将会通过两种不同的方案来实现。整体流程均如下:

git仓库代码更新 --> 集成系统检测到代码更新 --> 集成系统获取新代码 --> 集成系统编译/打包/上线新代码

在获取代码更新的时候,有两种方案,一种是通过webhook来实现:
https://developer.github.com/webhooks/
webhook是一种callback的形式。简单的说,在这篇文章的环境下,就是每次更新后,git系统都会通知集成系统 代码已经更新,剩下的交由集成系统完成。
缺点:webhook需要集成系统对外暴露一个回调接口,如果出现集成系统部署在内网,git系统在外网,又难以实现端口映射等对外暴露回调接口的时候,就需要让集成系统去主动查询,也就是下面这种方案

第二种方案是:集成系统定时查询和更新git仓库上代码:
通过crontab等方式,定时启动集成系统的更新查询模块,当查询到的版本号与集成系统本地代码的版本号不同的时候,启动持续集成的后续流程。

上次基于第二种实现,写了一个内网gitbook自动更新的功能。然后重装代码丢了,就不上代码了。圣诞快乐

标签: none

添加新评论