CI для Symfony включает установку зависимостей из lock-файла, статические проверки, подготовку изолированной тестовой БД и тесты. В GitLab порядок задаётся stages, а не steps.
Разработка типового CI‑pipeline для Symfony‑проекта
CI для Symfony включает установку зависимостей из lock-файла, статические проверки, подготовку изолированной тестовой БД и тесты. В GitLab порядок задаётся stages, а не steps.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Имеется приложение, написанное на PHP с использованием фреймворка Symfony и ORM Doctrine. Требуется предложить стандартный набор шагов для автоматической сборки и тестирования проекта в системе continuous integration.
.gitlab-ci.yml
steps:
- tests
-
Ответ
CI для Symfony включает установку зависимостей из lock-файла, статические проверки, подготовку изолированной тестовой БД и тесты. В GitLab порядок задаётся stages, а не steps.
Разделите lint/static analysis, unit и integration jobs. Образ CI должен содержать нужную PHP-версию, расширения и Composer; версии зависимостей фиксируются composer.lock. Для интеграционных тестов поднимите отдельную БД, примените миграции и валидируйте Doctrine-схему. Сохраняйте отчёты и логи как artifacts, кеш зависимостей привязывайте к lock-файлу. Production-секреты, реальные письма и платные API не должны использоваться в тестах; deploy — отдельный защищённый этап.
Источник: docs.gitlab.com.