Уважаемые стартаперы и 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 -> На сервер больше не заходишь.
Короче, всем советую 💋
Если у вас есть бекенд в любом виде (сайт, сервис, бот) и ваш 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 -> На сервер больше не заходишь.
Короче, всем советую 💋