1. Цель
Настроить автоматизированный деплой через GitHub Actions для трёх окружений:
Разработка (dev) – автоматический деплой при пуше в ветку dev.
Тестирование (test) – деплой при создании тега v* или вручную через workflow_dispatch.
Продукт (prod) – деплой только после мержа в main + ручное подтверждение (approve).
2. Задачи
Настроить GitHub Actions Workflow (.github/workflows/deploy.yml):
Dev-сервер:
Триггер: push в ветку dev.
Действие: авторазвёртывание через SSH (docker-compose up или другой метод).
Test-сервер:
Триггер: создание тега (v1.0.0) или ручной запуск.
Действие: деплой с проверкой (например, прогон тестов перед деплоем).
Prod-сервер:
Триггер: push или merge в main.
Действие: деплой только после ручного approve (использовать environments в GitHub).
Настроить защиту веток:
main: запрет прямых пушей, требование PR + 1 approve.
dev: ограничений нет (автодеплой).
Интеграция с серверами:
Настроить SSH-ключи (secrets в GitHub).
Убедиться, что на серверах установлены Docker, Git и зависимости.
Документация:
Инструкция для разработчиков (как работать с ветками, тегами, деплоем).
Примеры запросов на деплой (для тест и прода).
3. Технические требования
GitHub Actions (опыт обязателен).
Docker/Docker Compose (или альтернатива, если используется иное).
SSH-доступ к серверам (настройка пользователя deploy с ограниченными правами).
Логирование деплоя (уведомления в Slack/Telegram при ошибках).