Passer au contenu
Clodo

Continuous Deployment: Auto-Deploying to VPS via GitHub Webhooks

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

Avancé8 minMis à jour :13 septembre 2026
Vérifié : Git 2.34+Node.js 20+

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);
Comparaison des méthodes

Comment implémenter cela ?

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.

Où dans le panneau ? Panel > Service detail > the address card on the 'Overview' tab shows the IP and port your webhook should point at.
Exécution étape par étape :
  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.

Ce guide vous a-t-il été utile ?

Les retours sont directement transmis à l'équipe qui maintient ce guide.

Vous n’avez pas trouvé de solution ?

Vous pouvez ouvrir une demande auprès de notre équipe d’assistance depuis le panneau.

Ouvrir une demande