MOOver.js/git_webhook.js
2023-02-28 23:48:15 +01:00

24 lines
842 B
JavaScript

require('dotenv').config();
const http = require('http');
const crypto = require('crypto');
const exec = require('child_process').exec;
const secret = `${process.env.GITHUB_WEBHOOK}`;
const repo = '/home/moover/MOOver';
http.createServer(function(req, res) {
req.on('data', function(chunk) {
const sig = 'sha1=' + crypto.createHmac('sha1', secret).update(chunk.toString()).digest('hex');
if (req.headers['x-hub-signature'] == sig) {
console.log('updating moover...');
exec(`pm2 stop 'MOOver - main' && cd ${repo} && git pull && npm install && pm2 start 'MOOver - main'`);
console.log('Success!');
}
});
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(5050, '127.0.0.1', () => {
console.log('Server is running');
});