Описание проекта
Нужно построить конвейер, который берёт код из репозитория, прогоняет набор автоматических тестов, и только если все проверки пройдены — переносит сборку на боевой сервер без участия человека. Отдельное требование — механизм отката: если после выкладки обнаруживаются ошибки (сервис не поднимается, растёт число ошибок в логах), система должна уметь быстро вернуть предыдущую рабочую версию без ручного вмешательства команды.
Проект небольшой, но стек стандартный: серверная часть на PHP, есть несколько сопутствующих скриптов для фоновых задач. Репозиторий уже используется командой, нужна просто настройка пайплайна поверх него. Готовы предоставить доступ к тестовому окружению и обсудить детали инфраструктуры перед стартом работы.
Что нужно сделать:
— настроить автоматический запуск тестов при каждом изменении кода
— реализовать автоматическую выкладку на боевой сервер после успешных проверок
— сделать механизм быстрого отката к предыдущей версии
— составить краткую инструкцию для команды, как это работает