Настройка окружений Dev и Staging с CI/CD
Цель: Развернуть и настроить
Требования
1. Среда хостинга:
VPS: DigitalOcean или GoDaddy
Характеристики:
2 vCPU, 4GB RAM, 30–100GB SSD
ОС: Ubuntu 22.04 LTS
Домены:
dev.gcs-reefer.com
для Devstage.gcs-reefer.com
для Staging
2. Технологический стек:
Backend: Laravel 10.x с необходимыми модулями PHP
База данных: MySQL 8.x
Кэш: Redis 5.x
Веб-сервер: Nginx
Контейнеризация: Docker и Docker Compose
CI/CD инструмент: GitHub Actions
Мониторинг: Sentry
Основные задачи
1. Настройка сервера:
Развернуть VPS, настроить SSH-доступ, установить Docker, Docker Compose и Nginx.
Создать виртуальные хосты и субдомены через Nginx.
Установить Certbot для SSL-сертификатов.
2. CI/CD-процессы:
Настроить GitHub Actions для автоматического деплоя:
Dev-ветка: Деплой после слияния, запуск тестов, уведомление в Jira.
Staging-ветка: Деплой после слияния, запуск тестов, уведомление в Jira.
Написать Dockerfile и
docker-compose.yml
для обоих окружений.Автоматизировать очистку контейнеров после успешного деплоя.
3. Мониторинг:
Настроить Sentry для отслеживания ошибок в Dev и Staging.
Установить оповещения для критических ошибок.
4. Резервное копирование и безопасность:
Настроить ежедневное резервное копирование баз данных (хранить 7 дней) и файлов приложения.
Обеспечить безопасность доступа с помощью Firewall, Fail2Ban и многофакторной аутентификации.
5. Документация:
Подготовить базовые инструкции:
Для подключения к серверам
Для локального тестирования с Docker Compose
Для обновления скриптов CI/CD
Результат:
Полностью работающие окружения Dev и Staging.
Автоматизированные CI/CD процессы с интеграцией Jira и Sentry.
Масштабируемая и безопасная инфраструктура с резервными копиями.