Уважаемые стартаперы и IT предприниматели



Если у вас есть бекенд в любом виде (сайт, сервис, бот) и ваш CTO (или вы сами) деплоете этот код руками (то есть, чтобы запустить крутиться новую версию кода, нужно зайти на сервер, руками застопить старую версию приложение, скачать новую и запустить), срочно автоматизируйте этот процесс.



В идеале это должно выглядеть так

1) Разработчик загружает исправления кода в GitHub,

2) Код скачивается на сервер, начинает собираться новая версия,

3) Если все окей - то старая останавливается, а новая запускается.



Что будет, если это не сделать

Окажется, что только один человек может (и будет) деплоить новый код в продакшн. В больших компаниях это мб и норм, но в маленьких, где цикл должен быть максимально коротким, это недопустимая трата времени и сил. Когда только один человек умеет деплоить, придется забыть про hot fixы.



Как это нужно сделать

(инфа для прогеров)

1) Для этого всего придумали CI/CD. В гитхабе я пользуюсь Github Actions, раньше Travis-CI.

2) Технически это происзодит так: CI триггерит код на сервере, который делает git pull, собирает все в docker образ, если собралось - направляет nginx на новый контейнер, а старые стопит.

3) Если вы хотя бы раз пользовались Heroku - это то, что делает его интеграция с Github.

4) Напомнило тот факт, что кассиры во Вкуссвиле сами кладут тебе в пакет продукты, -- однажды попробовав, сложно вернуться обратно. Однажды автоматировав весь процесс, больше не сможешь делать иначе.

5) Heroku становится дорогим очень быстро, поэтому есть его Open Source версия - Dokku. Арендовал сервер -> Поставил Dokkuu -> Настроил GitHub Actions -> На сервер больше не заходишь.



Короче, всем советую 💋