什么是webhook?
webhook(也称为Web回调或HTTP推送API)是应用程序为其他应用程序提供实时信息的一种方式。 webhook会在发生时将数据传递给其他应用程序,这意味着可以立即获取数据。与典型的API不同,你不需要非常频繁地轮询数据才能实时获取数据。这使得webhooks对提供者和消费者都更有效。
了解完webhook之后,我们就开始利用webhook实现简单的自动化部署了。
这里我们以GitHub的项目作为🌰
1、登录GitHub -> 进入项目 -> Settings (项目设置) -> Webhooks
Payload URL:
当你向GitHub push代码时,GitHub会向Payload URL里填写的URL发送POST请求,其中包含任何订阅事件的详细信息。你还可以指定要接收的数据格式(JSON,x-www-form-urlencoded等)。更多信息可以查看developer documentation。
640.jpg
2、登录服务器
npm i github-webhook-handler
注意: 在Github Webhooks 设置里, Content type 必须为 application/json.
4、创建处理webhook的脚本
// gitupdate.js
var http = require('http')
var createHandler = require('/usr/bin/node_modules/github-