Продвинутый8 minОбновлено: 2026-09-13

Continuous Deployment: Auto-Deploying to VPS via GitHub Webhooks

Trigger automatic git pulls, builds, and graceful process restarts upon every repository push.

Проверено на

Git
2.34+
Node.js
20+
Последняя проверка
2026-09-13
На этой странице
Все руководства
Прогресс чтения

Eliminate repetitive manual SSH logins for git pull and service restarts. GitHub Webhooks notify your server on every commit push, triggering automated deployment workflows.

1. Lightweight Webhook Receiver#

deploy-webhook.js
const http = require('http');
const { exec } = require('child_process');

http.createServer((req, res) => {
  if (req.method === 'POST' && req.url === '/webhook/deploy') {
    console.log('GitHub Push algilandi. Dagitim baslatiliyor...');
    exec('sh deploy.sh', (err, stdout) => {
      if (err) console.error(err);
      console.log(stdout);
    });
    res.writeHead(200);
    return res.end('OK');
  }
  res.writeHead(404);
  res.end();
}).listen(4000);
Сравнение способов

Как это сделать?

Clodo Control Panel Quick Method

Your own webhook listener

There is no built-in GitHub integration in the panel; you set up auto-deploy yourself with the webhook listener from this guide. What the panel provides is the runtime for that listener and a publicly reachable port.

Где в панели? Panel > Service detail > the address card on the 'Overview' tab shows the IP and port your webhook should point at.
Пошагово:
  1. 1Pick Node.js or Python on the 'Runtime' tab; the listener runs there.
  2. 2Take the IP and port from the address card and enter it in the repository's Webhooks settings on GitHub.
  3. 3Bind the listener to SERVER_IP and SERVER_PORT; if it listens on 127.0.0.1, GitHub cannot reach it.
  4. 4Always verify the webhook secret, or anyone who learns the URL can trigger a deploy.

Было ли руководство полезным?

Отзыв сразу попадает команде, которая ведёт это руководство.

Похожие руководства