CyberDAS-Dev / Frontend

Сайт общежития ДАС МГУ.
https://cyberdas.net
MIT License
2 stars 1 forks source link

Изменить систему деплоя #75

Closed qqpayne closed 3 years ago

qqpayne commented 3 years ago

Сейчас у нас деплоится в продакшн всё, что находится в мэйне, а для активной разработки используется отдельная ветка - dev. Она тоже деплоится, но на свой поддомен.

Проблемы возникают при выпуске новых релизов. dev и main должны существовать параллельно на протяжении долгого времени и иногда вливаться одна в другую. Для поддержания синхронизации между ними нужно проводить танцы с бубном: сначала замерджить dev в main, потом замерджить мердж-коммит из main в dev.

Это не очень весело, поэтому хочется сделать более удобную деплой систему. Благо гитхаб позволяет в воркфлоу интегрировать эвент release - то есть создание нового релиза.

Хочется, что бы новая система брэнчинга и деплоя выглядела так:

  1. Активная разработка идёт в main
  2. От main отделяются небольшие ветки, которые потом сквошом или ребейзом вливаются в main
  3. При ПРе в main самая последняя версия деплоится на поддомен с девелопмент-версией (там сейчас dev)
  4. При публикации релиза (pre-release и драфты игнорируются) в main, этот релиз деплоится на продакшн-сервер
  5. Сразу предусмотрим случай фэйл-релиза: при удалении релиза в main, фетчится самый последний релиз и деплоится на продакшн-сервер

Это позволит избавиться от dev ветки насовсем и не плясать с бубном ради их синхронизации. Заодно, можно будет на уровне репозитория запретить ненавистные мердж-коммиты