【发布时间】:2015-08-25 23:45:37
【问题描述】:
我已经为 Github 上的存储库设置了一个 webhook。当我在 Github 中创建新版本时,我的 webhook 接收器(在节点服务器上)接收到一个请求。它是这样工作的(使用 Express):
app.post("/", function(req, res){
//request is not a github event
if (req.headers["x-github-event"] != "release") return;
//request is a pre-release
else if (req.body.release.prerelease) deployToDev();
//request is full release
else if (!req.body.release.prerelease) deployToLive();
});
如您所见,它首先检查请求中是否包含值为release 的github 事件的标头。如果一切正常,它会检查它是预发布版还是完整版,并触发一个函数以部署到开发版或上线。
webhook 工作得很好,但我很难找出如何实际部署文件。我是否使用某种 FTP 连接或 shell 脚本来执行此操作? dev 和 live 目录与 webhook 接收器位于同一台服务器上。最好的方法是什么?
【问题讨论】:
标签: javascript node.js git github webhooks