| 1234567891011121314151617181920212223242526272829 |
- #!/usr/bin/env python3
- from http.server import BaseHTTPRequestHandler, HTTPServer
- import subprocess
- import os
- import sys
- # Секретный ключ (соответствует тому, что в вебхуке)
- SECRET = "NY9B9VLifDC9ehZ"
- class WebhookHandler(BaseHTTPRequestHandler):
- def do_POST(self):
- # Проверяем секрет в URL
- if f"secret={SECRET}" in self.path:
- self.send_response(200)
- self.end_headers()
- self.wfile.write(b"Deployment triggered successfully\n")
-
- # Запускаем скрипт обновления в фоне
- print(">>> Received webhook, starting deployment...")
- subprocess.Popen(["/bin/bash", "/var/www/radionica3d/server_update.sh"])
- else:
- self.send_response(403)
- self.end_headers()
- self.wfile.write(b"Forbidden: Invalid secret\n")
- if __name__ == "__main__":
- print("Deploy listener starting on port 9000...")
- httpd = HTTPServer(('127.0.0.1', 9000), WebhookHandler)
- httpd.serve_forever()
|