Блок 6 · Урок 4 из 4

Доставка кода и наблюдение: CI/CD и логи

Как код автоматически попадает в прод — и как понять, что там происходит.

≈ 7 минут 🚀 CI/CD, логи, капстоун блока 🎯 цель: читать разговор с агентом о доставке и мониторинге без словаря

Зачем это вам

Агент регулярно говорит «CI прогонит тесты», «деплой автоматический по пушу», «пайплайн упал», «посмотри логи», «настроим мониторинг». Без понимания этих слов вы не знаете: код уже у пользователей или нет, почему выкладка остановилась, где искать причину сбоя. Этот урок — последний в блоке «Доставка»: здесь все части складываются в единую картину от коммита до работающего приложения под наблюдением.

Конвейер и наблюдение

Код не попадает в прод сам по себе — его туда доставляет автоматика

Раньше разработчики вручную копировали файлы на сервер и молились, что ничего не сломалось. Сейчас этот процесс автоматизирован: нажал «пуш» (push, отправка кода в репозиторий) — машина сама проверила, собрала и выложила.

Весь процесс называется CI/CD — два связанных этапа. CI (Continuous Integration, непрерывная интеграция) — это автоматическая проверка каждый раз, когда кто-то отправляет новый код: проект собирается, запускаются тесты, ищутся очевидные ошибки. Смысл — поймать поломку сразу, до того, как она уедет к пользователям. CD (Continuous Delivery/Deployment, непрерывная доставка) — если все проверки прошли, новая версия автоматически выкладывается на хостинг. На Vercel это происходит буквально при каждом пуше в ветку main. Типичный инструмент для всего этого — GitHub Actions: сценарии, которые автоматически запускаются при событиях в репозитории.

Весь путь от «нажал пуш» до «новая версия у пользователей» проходит через набор шагов — его называют пайплайном (pipeline, конвейером). Если хотя бы один шаг падает с ошибкой, конвейер останавливается и выкладки не будет — это и есть «пайплайн упал».

Но даже после успешного деплоя нужно наблюдать за тем, что происходит в проде (работающем приложении). Главный инструмент — логи (logs, записи): каждый запрос, каждая ошибка, каждое важное событие оставляет след. Когда «на проде что-то не так», первый вопрос всегда — «что в логах?». Поверх логов строится мониторинг — постоянное наблюдение за здоровьем приложения (доступность, скорость, частота ошибок). Мониторинг умеет посылать алерты (alerts, оповещения) — сообщения о том, что что-то пошло не так. Примеры: Sentry ловит ошибки и присылает уведомление, дашборд хостинга показывает метрики.

📌 Главный приём заказчика при сбое в проде: не гадать — попросить агента показать логи. Всё остальное вторично.

Аналогия, которую можно пересказать

Завод: конвейер и диспетчерская

«Лента проверяет деталь на каждом посту»— CI: автосборка и тесты при каждом изменении кода
«Прошло проверку — едет к отгрузке»— CD: автоматическая выкладка в прод
«Лента встала, брак не уехал»— «пайплайн упал»: ошибка остановила выкладку
«Журнал работы и датчики на стене»— логи и мониторинг: видно, что происходит в проде
«Красная лампа на пульте»— алерт: оповещение о проблеме

Ваш код — деталь. Конвейер с контролем качества (CI/CD) проверяет её на каждом посту. Прошла — едет к пользователю. Не прошла — лента останавливается, брак к клиенту не уезжает. А диспетчерская с журналом и датчиками (логи и мониторинг) всегда покажет, что происходит на производстве — и загорится красная лампа (алерт), если что-то пошло не так.

Запомните одно

Пуш — не конец, а начало автоматического конвейера

Отправить код в репозиторий — это как поставить деталь на ленту. Дальше конвейер работает сам: проверяет, собирает, выкладывает. Если где-то ошибка — лента встаёт и вы смотрите в логи. Если всё прошло — новая версия у пользователей без единого ручного действия.

Что это даёт на практике

Фраза агента → что он имеет в виду

«CI прогонит тесты на каждом пуше»
Перед выкладкой код автоматически проверяется — сборка и тесты запускаются сами при каждом изменении.
«Деплой автоматический по пушу в main»
Отправил код в ветку main — новая версия сама поехала в прод. Руками ничего копировать не нужно.
«Пайплайн упал»
Один из шагов конвейера сборки или доставки дал ошибку — выкладка остановлена, пока не починим.
«Посмотри логи»
Откроем записи прода — запросы, ошибки, события — чтобы понять, что именно пошло не так.
«Настроим мониторинг / алерты»
Приложение будет само сообщать, если что-то сломается — не нужно заходить и проверять вручную.

CI (Continuous Integration) — автосборка и проверки при каждом изменении кода.

CD (Continuous Delivery / Deployment) — автоматическая выкладка прошедшей проверку версии.

Пайплайн (pipeline) — последовательность шагов конвейера сборки и доставки.

Логи (logs) — записи о происходящем в приложении: запросы, ошибки, события.

Мониторинг / алерты — постоянное наблюдение за здоровьем приложения и оповещения о сбоях.

Проверьте себя

Четыре вопроса с мгновенной проверкой

1. Что делает CI (непрерывная интеграция)?

2. Что значит «деплой автоматический по пушу в main»?

3. Куда смотрят в первую очередь, когда «на проде что-то не так»?

4. Что значит «пайплайн упал»?

Куда мы идём

Программа курса — 7 блоков