Skip to content

Skill: Deploy Docker

Когда использовать

  • Для deploy/rollback сервисов, упакованных в Docker и доставляемых через GHCR.
  • Для проектов с docker compose v2 и self-hosted runner.

Входные данные

  • Репозиторий и compose-файл.
  • IMAGE_TAG/release tag.
  • Runtime env и список критичных URL для smoke.

P0

  • Использовать только docker compose v2.
  • Проверить уникальный name: в compose (избежать конфликтов контейнеров).
  • Выполнить GHCR login перед pull.
  • Проверить, что сервисы bind на 127.0.0.1 и открываются через nginx.
  • Перед выкладкой подтвердить backup/rollback точку (предыдущий стабильный tag).

P1

  • Обновить образ до целевого тега и поднять сервисы.
  • Проверить docker compose ps, healthchecks, startup logs.
  • Выполнить smoke на prod/dev доменах и критичных endpoint.

P2

  • Очистить устаревшие образы/артефакты по безопасной политике retention.
  • Обновить runbook и release notes по итогам деплоя.

Rollback

  • Установить предыдущий стабильный IMAGE_TAG.
  • Выполнить docker compose up -d.
  • Повторить smoke и убедиться в восстановлении целевого поведения.

Multi-Agent Protocol

  • Subagent A: проверка compose/env на корректность и риски.
  • Subagent B: подготовка smoke-чеклиста и валидация URL.
  • Главный агент выполняет сам deploy/rollback и фиксирует финальный статус.

Проверки (минимум)

  • docker compose ps
  • docker compose logs --tail=100 <service>
  • curl -I https://<domain>
  • Проверка критичного бизнес-сценария после выкладки.

Definition of Done

  • Целевой тег развернут, сервисы healthy, smoke пройден.
  • Для rollback подтверждена рабочая точка восстановления.
  • В docs/runbook отражены изменения процесса (если они были).