Задача — выстроить полностью автоматизированный процесс: при появлении новых изменений в репозитории должны автоматически запускаться тесты, и только при их успешном прохождении сборка должна сама переноситься на боевой сервер. Отдельно нужен план на случай сбоя — если после обновления сервис начинает работать некорректно, должна быть возможность за считаные минуты откатиться на предыдущую стабильную версию без паники и ручного восстановления из архивов.
Инфраструктура простая: сервер под управлением Linux, серверная часть проекта написана на PHP, есть несколько вспомогательных скриптов, которые тоже нужно учитывать при выкладке. Опыт с подобными задачами приветствуется, готовы показать текущую структуру репозитория и обсудить нюансы на созвоне.
Ожидаем от исполнителя:
— настройку автоматического тестирования при каждом коммите
— автоматический перенос успешно протестированной сборки на боевой сервер
— продуманный механизм отката при сбое
— короткую документацию по итоговой схеме работы