Полное использование Git

Полное использование Git

Полноценное использование Git

Команды должны иметь возможность по необходимости, предсказуемо и быстро восстанавливать сервисы даже после крупных отказов на основании только информации из Гита. Поэтому содержимое Git должно включать не только исходный код самого приложения, но и все артефакты для его сборки, тестирования, схемы миграции данных (как в одну увеличения версии, так и в сторону отката).

Чек-лист использования Git в вашей команде

В Git должны храниться в нескольких версиях:

  • Весь код приложения и зависимости (библиотеки, статический контент и др.)
  • Все сценарии, используемые для создания схем баз данных, справочных данных приложения и т.д.
  • Все инструменты создания среды и артефакты из предыдущего пункта (например, сценарии создания образа VMware или AMI или рецепты Chef).
  • Любые файлы, используемые для создания и компоновки контейнеров (например, файлы Docker и билдпаки)
  • Все поддерживающие автоматизированные тесты и любые сценарии ручного тестирования
  • Любые сценарии, поддерживающие упаковку кода, развертывание, миграцию баз данных и инициализацию среды.
  • Поддерживающие артефакты проекта (например, документация по требованиям, процедуры развертывания и примечания к выпуску)
  • Оркестрация контейнеров (например, конфигурация Kubernetes, конфигурация Mesos и конфигурация Docker Swarm).
  • Все файлы конфигурации облака (например, шаблоны AWS Cloudformation, конфигурация Cloud Deployment Manager, файлы Microsoft Azure Stack DSC, OpenStack HEAT, файлы Terraform и стеки Pulumi).
  • Любые другие сценарии или конфигурационная информация, необходимые для создания инфраструктуры, поддерживающей множество сервисов (например, корпоративные сервисные шины, системы управления базами данных, файлы зон DNS, правила конфигурации для брандмауэров и других сетевых устройств)

Если в вашем Git хранится не всё из этого списка и Git не даёт вам быстро и без потерь восстановить предыдущие версии систем, вы используете его не полностью.

Как улучшить контроль версий

Специалисты Google рекомендуют:

  • Убедитесь, что каждый коммит в версионный контроль автоматически запускает создание пакетов, которые могут быть развернуты в любом окружении с использованием только информации из версионного контроля.
  • По необходимости создавайте тестовые среды, неотличимы от прода, используя только сценарии и конфигурационную информацию из системы управления версиями. Создавайте пакеты с помощью автоматизированного процесса, описанного в предыдущем подходе.
  • Прорабатывайте тестирование кода и прода так, чтобы команды могли добавлять мощности или восстанавливаться после отказов автоматизированно.

QR-код на источник

https://cloud.google.com/architecture/devops/devops-tech-version-control

Другие статьи

Смотреть все

Не будь самонадеянным

Читать

Узкие места в разработке

Читать

Колесо баланса — ретро и пожелание

Читать

Ваша заявка отправлена успешно

Отправить снова

Базовый курс управления и построения IT-контура компании. Поток 05.09.23

Контакты

С вами свяжется модератор курса Алексей Клоков