Настал момент после 3 месяцев разработки, когда пора показывать собственникам компании результат нашей работы по новой итерации продукта и пускать её потихоньку в прод. Для этого мы даже отдельный сервер выпросили. Всю настройку отдали мне, это были хорошие времена — я получил возможность в рабочее время прибраться в проектах по части деплоя и изучить поглубже эту тему.
Первой задачей было привести конфиги к единому виду, чтобы при разворачивании проекта где угодно необходимо было создать минимальное количество локальных конфигов, будь то .env или docker-compose.override.yml. Из трёх проектов только в одном локальный конфиг получился больше 10 строк. В остальных двух это максимум 3-5 строчек. Приемлемый результат, хотя до zero-config ещё расти и расти.
Второй задачей было поднятие раннеров для ci/cd. Мы сидим на гитлабе, поэтому всё оказалось крайне просто — копируешь токен из репозитория, регистрируешь раннер на сервере, ставишь тег production/development и погнали. Сделать это надо было для 4 проектов, в каждом из которых dev и prod окружения, итого 8. Заняло всё в итоге 20 минут, но ощущения просто несравнимые, когда пушишь в dev и деплой проходит на тестовом контуре, пушишь в main и деплой уходит на продовский контур. Детский восторг прям какой-то был.
Всё это очень круто и весело, но сидеть целыми заниматься инфрой я бы не стал, пожалуй, пока не готов целый день ковыряться в конфигах 😀
Добавить комментарий