http .createServer(function (req, res) { handler(req, res, function (err) { res.statusCode = 404; res.end("no such location"); }); }) .listen(6666); //此处与
handler.on("error", function (err) { console.error("Error:", err.message); });
// 监听到push事件的时候执行我们的自动化脚本 handler.on("push", function (event) { console.log( "Received a push event for %s to %s", event.payload.repository.name, event.payload.ref );
runCommand("sh", ["./deploy.sh"], function (txt) { console.log(txt); }); });
functionrunCommand(cmd, args, callback) { var child = spawn(cmd, args); var resp = "Deploy OK"; child.stdout.on("data", function (buffer) { resp += buffer.toString(); }); child.stdout.on("end", function () { callback(resp); }); }
// 如果需要监听issues,打开下面的代码 // handler.on('issues', function (event) { // console.log('Received an issue event for %s action=%s: #%d %s', // event.payload.repository.name, // event.payload.action, // event.payload.issue.number, // event.payload.issue.title) // });
启动监听服务
1 2 3 4 5 6
node /{{your-path}}/webhookHandler.js
# OR
pm2 start /{{your-path}}/webhookHandler.js pm2 save