стандартный способ настройки развертывания веб-сервера с помощью webhooks - PullRequest
3 голосов
/ 19 декабря 2010

Я работаю над кодом для веб-сервера.Я пытаюсь использовать веб-хуки для выполнения следующих задач после каждого отправки в хранилище:

  1. обновить код на веб-сервере.
  2. перезапустить сервер, чтобы мои изменения вступили в силу,

Я знаю, как заставить управление ревизиями запускать webhook.

Независимо от специфики того, какой контроль версий и т. Д. Я использую, я хотел бы знать, каков стандартный способ создания прослушивателя вызова POST из webhook в LINUX.

Я не совсем невежественен - ​​я знаю, как сделать HTTP-сервер на Python, и я могу заставить его запускать соответствующие команды bash, но это кажется таким громоздким.Есть ли более простой способ?

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011
  1. Настройка скрипта для получения запроса POST (достаточно PHP-скрипта)
  2. Сохранить запрос в базе данных и пометить запрос как "еще не завершенный"
  3. Запустите crontab, проверьте базу данных на «еще не выполненные» задачи и делайте все, что вы хотите, с информацией, сохраненной в базе данных.

Это определенно не лучшее решение, но оно работает.

0 голосов
/ 24 мая 2012

Вы можете использовать IronWorker, http://www.iron.io, для входа и выполнения своих задач при каждом коммите.И чтобы запустить задачу IronWorker, вы можете использовать его поддержку webhook.Вот сообщение в блоге, которое показывает вам, как использовать функциональные возможности IronWorker для веб-крючков, и в этом сообщении уже есть половина того, что вы хотите (оно запускает задачу на основе коммита github): http://blog.iron.io/2012/04/one-webhook-to-rule-them-all-one-url.html

...