Вебторика
Главная/Журнал/Инфраструктура

Автосборка и автообновление с нуля: что делать в каждом проекте

Минимальный набор практик: сборка, тесты, обновление, мониторинг. Без магии и лишних инструментов.

Инфраструктура4 минутыКоманда ВебторикаОпубликовано 18 сентября 2026 г.
автосборкаGitLabKubernetesавтотесты

Автосборка и автообновление — не модная практика, а способ не развозить руками одни и те же изменения. Минимальный набор, который работает.

Сборка и проверка кода

npm ci + tsc --noEmit + eslint. Отсекает 80% ошибок до проверки. Не проходит сборка — запрос на слияние не принимается. Длительность — 1,5–2 минуты.

Тесты

Модульные (Vitest / Jest), интеграционные (Playwright), API (Supertest). Покрытие: 60% по бизнес-логике, 100% по расчётам и валидации.

Сборка артефакта

Docker-образ, тег = git SHA. Публикация в Container Registry. Отдельно — статика для CDN. Артефакты неизменяемы: один тег — одна сборка.

Обновление

Три среды: тестовая (каждое слияние в основную ветку), предпродуктивная (по тегу), продуктивная (по тегу с подтверждением). Сине-зелёное для API, постепенное для сервисов без сохранения состояния. Откат за 60 секунд.

Миграции базы данных

Prisma Migrate / Knex / Flyway. Запуск перед обновлением, защищены от повторного запуска, обратимы. Правило: никаких удаляющих операций в первой миграции. Сначала добавляется поле, разворачивается код, потом удаляется старое.

Мониторинг после обновления

10 минут наблюдения: Sentry, Prometheus, синтетические проверки через Playwright. Падение — автооткат. Обновление в пятницу вечером или понедельник утром запрещено.

Метрики здоровой автосборки

Длительность не больше 10 минут. Частота обновлений ≥ 3 в неделю. Частота откатов ≤ 5%. Среднее время восстановления ≤ 1 час. Сборка дольше 15 минут — разделяется на параллельные задачи.

Чек-лист

  1. Сборка + проверка кода + типы в каждом запросе на слияние.
  2. Модульные тесты на бизнес-логику.
  3. Сквозные тесты на ключевые сценарии.
  4. Docker-образы с неизменяемыми тегами.
  5. Три среды: тестовая / предпродуктивная / продуктивная.
  6. Автоматические миграции базы данных.
  7. Сине-зелёное или постепенное обновление.
  8. Sentry + Prometheus + синтетика.
  9. Автооткат при падении метрик.
  10. Запрет обновления в пятницу вечером и понедельник утром.

Выводы

Хорошая автосборка — незаметная автосборка. Команда сливает изменения, через 10 минут они в продуктивной среде. Настройка — 2–3 дня, окупается за первый месяц.

Читать дальше

Оценка за 1 рабочий день

Стоимость и план реализации — по заявке.