Перейти к содержанию

Index

Настриваем webhook

Создаем файл githook.py в директории /usr/local/bin с следующим содержимым

import os, app
from flask import Flask

app = Flask(__name__)

@app.route('/', methods=['POST','GET'])
def hookup():
  #home_dir = os.system(".post-remote-push")
  return 'Complete'

if __name__ == "__main__":
  app.run(host='127.0.0.1',port=888)

Создаем файл githook.service в директории /lib/systemd/system с следующим содержимым

[Unit]
  Description=GitHook Service

[Service]
  ExecStart=/usr/bin/python3 -u /usr/local/bin/githook.py
  Type=idle
  KillMode=process

  SyslogIdentifier=githook
  SyslogFacility=daemon

  Restart=on-failure

[Install]
  WantedBy=multiuser.target

Работаем с сервисом: Запуск systemctl start githook.service Проверка systemctl status githook.service Остановка systemctl stop githook.service

Для проверки используем curl http://127.0.0.1:888/

Настраиваем apache2

Устанавливаем apt-get install a2enmod

Запускаем сервисы

a2enmod proxy
a2enmod proxy_http
a2enmod proxy_balancer
a2enmod lbmethod_byrequests

Перезагружаем сервис Apache systemctl restart apache2

Настраиваем виртуальный сервер

<VirtualHost *:80>
 ProxyPreserveHost On
 ProxyPass / http://127.0.0.1:888/
 ProxyPassReverse / http://127.0.0.1:888/
</VirtualHost>