Skip to content

Template Sync Strategy

Template Sync Strategy описывает процесс, при котором приложение создаётся от шаблона и дальше регулярно получает обновления шаблона без ручного копирования файлов.

Основной маршрут:

text
templates/master -> template -> sync/* -> master

Где:

  • templates/master — основная ветка внешнего репозитория шаблона.
  • template — чистый слепок шаблона внутри репозитория приложения.
  • sync/* — временная ветка, где шаблон накладывается на приложение.
  • master — основная ветка приложения.

Задача

Шаблон хорошо решает старт проекта: приносит CI/CD, Dockerfile, зависимости, линтер, сборку, структуру и базовую документацию. Но после старта приложения расходятся: где-то обновили CI, где-то забыли, где-то сделали локальную кастомизацию.

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

Главный принцип

Ветка template должна оставаться чистым слепком оригинального шаблона.

В неё нельзя коммитить изменения приложения и нельзя решать конфликты. Все конфликтные решения выполняются только во временных ветках sync/*.

Состав документации