网站首页 > 基础教程 正文
服务端nodejs监控
secret在github上设置的,path为访问路径:如在github上设置Payload Url :xxxx/webhook
监控
首先下载cnpm i github-webhook-handler包
var http = require('http')
var createHandler = require('github-webhook-handler')
var handler = createHandler({ path: '/webhook', secret: '123456' })
function RunCmd (cmd, args, cb) {
var spawn = require('child_process').spawn;
var child = spawn(cmd, args);
var result = '';
child.stdout.on('data', function (data) {
result += data.toString();
});
child.stdout.on('end', function () {
cb(result)
});
}
http.createServer(function (req, res) {
handler(req, res, function (err) {
res.statusCode = 404;
res.end('no such location');
})
}).listen(8098)
handler.on('error', function (err) {
console.error('Error:', err.message);
})
handler.on('push', function (event) {
console.log('Received a push event for %s to %s',
event.payload.repository.name,
event.payload.ref);
//监听来自deploy分支,然后部署
if (event.payload.ref.includes('deploy')) {
var shpath = './deploy.sh';//下方代码
RunCmd('sh', [shpath], function (result) {
console.log(result);
})
}
})
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);
})
拉取代码deploy.sh
拉取之前,在github=>settings=>Deploy key设置好秘钥
提示:最好使用ssh拉取代码,否则会出现其他问题
#! /bin/bash
echo '开始执行'
cd Airport-Management-System
# git init
# git remote add origin 仓库地址
git fetch
echo '切换分支'
git checkout deploy
## 拉取最新代码
echo '开始拉去最新代码'
git pull origin deploy
cp -rf /usr/local/auto-build/Airport-Management-System/dist/* /usr/local/nginx/airport
echo '拷贝完成'
- 上一篇: 一次 Docker 容器内大量僵尸进程排查分析
- 下一篇: 首个SSRF漏洞开篇学习
猜你喜欢
- 2024-11-25 Deno 1.30 正式发布
- 2024-11-25 用 WasmEdge 和 Rust 在边缘云上构建高性能且安全的微服务
- 2024-11-25 通过浏览器工作台启动本地项目
- 2024-11-25 r2frida:基于Frida的远程进程安全检测和通信工具
- 2024-11-25 NPM 使用介绍
- 2024-11-25 使用Hexo在github上搭建静态博客
- 2024-11-25 Android动态调试(1)-Radare2和lldb
- 2024-11-25 Metasploit渗透测试之MSFvenom
- 2024-11-25 浅析CTF中的Node.js原型链污染
- 2024-11-25 首个SSRF漏洞开篇学习
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)