Техническое задание: Доработка DevOps-среды проекта
Контекст проекта
Существует рабочий проект на стеке Laravel + Voyager. Настроена связка GitHub с сервером, есть среды разработки (dev) и продакшена (prod), настроена синхронизация и базовый процесс деплоя.
Основные задачи
1. Актуализация и настройка среды
- Актуализировать ветку разработки (dev) в соответствии с текущим состоянием проекта.
- Настроить ролевую модель доступа для бэкенд-специалиста, предоставив ему необходимые права для работы.
- Обеспечить сокрытие от рядовых разработчиков чувствительных конфигурационных файлов (например, с данными для подключения к БД, ключами API).
- Подготовить изолированную среду, в которой бэкенд-специалист сможет безопасно вносить изменения, тестировать их и инициировать выкатку на тестовый стенд.
2. Настройка CI/CD-процесса
- Модернизировать существующий пайплайн непрерывной интеграции и доставки.
- Настроить процесс, при котором изменения из ветки dev после тестирования могут быть выкатаны в среду для предварительной проверки.
- Настроить процесс деплоя в продакшен-среду (prod) исключительно из ветки main в репозитории GitHub.
- Процесс должен быть автоматизированным, надежным и предусматривать необходимые этапы проверки.
3. Технологический стек и требования
- Основная инфраструктура должна быть реализована с использованием Docker для контейнеризации среды.
- CI/CD-пайплайн должен быть гибким и документированным.
- Все изменения в конфигурации и скриптах должны быть задокументированы.
- Необходимо обеспечить безопасность хранения секретов и ключей доступа.
Ожидаемый результат
Четко настроенная, безопасная и автоматизированная среда разработки и деплоя. Бэкенд-специалист получает удобный инструмент для работы и контроля над выкаткой изменений, а процесс попадания кода из разработки в продакшен становится структурированным и управляемым.