Найти в Дзене

Рубрика #проекты Меня тут спросили, а как я вот так быстро деплою все свои проекты? Ну, пушанул изменение на ГитХаб, и буквальн

Рубрика #проекты

Меня тут спросили, а как я вот так быстро деплою все свои проекты? Ну, пушанул изменение на ГитХаб, и буквально сразу все уже в продакшене или на тестовом сервере?

А все очень просто: какое-то время назад я пользовался node-cd, а потом мне его стало нехватать, и я написал ci-ninja. Это очень простой и короткий веб-сервер, написанный на Node.js — при пуше кода, ГитХаб кидает вебхук на ci-ninja, который запущен рядом с проектом, который деплоится. Дальше ci-ninja просто запускает баш-скрипт, в котором я уже и описываю, что нужно сделать.

Прелесть такого подхода в том, что на один ci-ninja инстанс можно повесить вебхуки разных проектов, которые будут запускать разные скрипты. Получается, я просто даю ГитХабу возможность запускать баш-скрипты на моем сервере. И да, большинство моих бот-шалостей запущены на одном хорошем сервере на Digital Ocean за $20/месяц — а рядом висит ci-ninja.

Эту тулзу я написал за 1-2 часа, но сэкономила она мне уже, скорее всего, месяца два жизни. Пишите свои тулзы для упрощения разработки — это весело и продуктивно.

P.S., я не собираюсь платить сервисам по мульону долларов в месяц за простой CI проектов, который пишется за пару часов и поддерживает проекты без монетизации.