Какой у вас опыт с Jenkins и Kubernetes в развертывании тестовой среды
Что проверяют
Разворачивали ли вы окружение сами или только пользовались готовым. Ответ «пользовался» приемлем, если он честный и по делу.
Как отвечать
Отвечайте конкретикой, а не перечнем технологий. Рабочая схема ответа: что за среда, что вы в ней делали руками, какую проблему решили.
Про Jenkins полезно сказать:
- как описан пайплайн: декларативный
Jenkinsfileв репозитории или задание, собранное мышкой в интерфейсе. Первое сильно лучше, потому что версионируется; - стадии: сборка, развёртывание стенда, прогон тестов, публикация отчёта (Allure), уведомление;
- как запускается: по коммиту через вебхук, по расписанию, вручную с параметрами (ветка, набор тестов, окружение);
- параллельный прогон по агентам и что было узким местом;
- где хранятся секреты (плагин Credentials, а не в коде задания).
Про Kubernetes:
- разворачивали ли отдельный namespace на ветку или прогоняли на общем стенде;
- как задавались образы и конфигурация: манифесты, Helm, Kustomize;
- как тесты попадали в кластер: отдельный Job, под с тестами, или прогон снаружи;
- как смотрели логи и разбирались с падениями:
kubectl logs,describe,port-forward; - проблемы, которые реально ловили: под не поднялся из-за нехватки ресурсов, тесты стартовали раньше готовности сервиса (отсюда
readinessProbeи ожидание), тестовые данные не изолированы между параллельными прогонами.
Если опыт ограничен, скажите прямо, что запускали и читали, а разворачивал коллега, и добавьте, что именно разбирали самостоятельно. Это лучше, чем перечисление слов, за которым следует уточняющий вопрос и провал.
Где спотыкаются
Перечисляют технологии без единого примера задачи.
Не могут объяснить, что происходит после нажатия кнопки «собрать».
Приписывают себе настройку инфраструктуры и плывут на первом уточнении.
Не рассказывают про изоляцию тестовых данных, хотя это главная боль общих стендов.