Описание
Финальный DevOps-проект: Продакшн для монорепозитория (React + Node.js)
В этом задании мы создадим полноценную инфраструктуру и CI/CD для монорепозитория с фронтендом и бэкендом.
📦 Структура проекта
Мы используем монорепозиторий следующего вида:
/project-root
│
├── front/ # React-приложение (Next.js или CRA)
│
├── back/ # Node.js API (например, Express, NestJS)
│
├── docker-compose.yml
│
└── .github/
└── workflows/🔧 Что мы сделаем:
1. Подготовим сервер (Ubuntu)
- Установим Docker, Docker Compose
- Установим и настроим NGINX как реверс-прокси
- Привяжем домен и настроим HTTPS (через Let’s Encrypt)
2. Настроим Docker
- Напишем
Dockerfileдля React и Node.js - Настроим
docker-compose.ymlдля сборки и запуска фронта и бэка - Сделаем так, чтобы
nginxпроксировал запросы на бэкенд фронтенд
3. Настроим CI/CD
GitHub Actions
- Определение изменённой папки (
front/илиback/) - Сборка только нужного проекта
- Deploy на сервер
🚀 Результат
✅ Один репозиторий = фронт + бэк
✅ Автоматический деплой на сервер
✅ Один сервер с NGINX и двумя сервисами
✅ Домен и HTTPS
✅ Docker Compose + GitHub Actions
Last updated on