Решил попробовать запустить деплой по нотификации от CI. Travis умеет дергать урлы при удачном билде. Осталось только среагировать на это.
Для реагирования нужна програмка. Програмка простая. Висит, слушает порт, а по сигналу запускает скрипт. Пошарив на гитхабе Я обнаружил маленькую тележку таких програм. Но, чаще всего они были заточены на определенные сервисы (Travis, Github), и для их запуска было необходимо снабдить машину Python-ом или NodJS-ом. Ставить NodeJS ради WebHook хендлера, запускающего скрипт!? Не, не мой вариант. Точно. Мы сделаем это “Linux Way”
Итак.
- Задача: запустить скрипт после того, как нам придет event от CI [HTTP GET]
- K.I.S.S.
Нам нужен сервер? Возьмем могучий netcat! В большинстве дистрибутивов он идет в комплекте.
while true; do
echo "Deploy starts NOW!" | nc -l -p 1500 -q 0;
./deploy.sh
sleep 1m;
done
Вот так. В несколько строчек.