Как устроен процесс CI/CD
Что проверяют
Понимаете ли вы конвейер целиком и своё место в нём, а не только то, что «тесты гоняются на сервере».
Как отвечать
Опишите конвейер по шагам, от коммита до прода.
> «Пуш в ветку запускает сборку: линтер, проверка типов, модульные тесты, сборка бандла. На пул-реквест добавляются интеграционные тесты и e2e на критичный путь. Мердж в main собирает образ, выкатывает на стенд, гоняет дымовой набор. > > Прод выкатывается по кнопке после зелёного стенда. После выкладки полчаса смотрим метрики ошибок, откат делается предыдущим образом одной командой».
Что стоит назвать по существу:
- быстрое раньше медленного: линтер и типы за секунды, e2e в конце. Разработчик получает сигнал сразу;
- кэш зависимостей и артефакты: без него конвейер идёт вдвое дольше, и его начинают обходить;
- окружения: превью-стенд на каждый пул-реквест, стейджинг, прод;
- секреты: в хранилище CI, не в репозитории;
- флаги функциональности: выкатывать код и включать фичу это разные события;
- откат: без него автоматическая выкладка опасна.
Для фронтенда добавьте специфику: сборка на каждое окружение, проверка размера бандла, визуальные тесты, публикация статики в CDN и инвалидация кэша.
Где спотыкаются
Ограничиваются словами «GitHub Actions гоняет тесты».
Ставят весь набор e2e в блокирующий шаг, конвейер идёт час, и его отключают.
Не говорят про откат и наблюдение после выкладки.
Не знают, где лежат секреты в их же проекте.