Как автоматизировать деплой Docker без Kubernetes
Варианты сборки и деплоя Docker-образов на VPS через GitLab CI, Ansible и self-hosted-платформы без Kubernetes.
Автоматизировать деплой Docker без Kubernetes можно через GitLab CI: собрать и опубликовать образ, затем получить его на VPS и перезапустить Compose-проект. Для регулярной раскатки также подходит Ansible; для сокращения ручной работы можно изучить Coolify и Dockploy.
С чего начать для небольшого проекта?
Для небольшого проекта можно начать с одного VPS: GitLab Runner на нём собирает Docker-образ и выполняет деплой.
При росте проекта сборку лучше вынести на отдельный VPS. Тогда процесс состоит из двух операций:
- Собрать Docker-образ и отправить его в registry.
- На целевых серверах получить образ и перезапустить приложение — например, командами
docker pullиdocker compose up -d.
Как развернуть деплой на несколько VPS через GitLab CI?
Есть два варианта организации GitLab Runner.
- Отдельный сервер сборки. На выделенном VPS собирают образ и публикуют его в registry. На production-серверах размещают GitLab Runner только для задач деплоя.
- Runner на каждом VPS. Один runner собирает образ и деплоит его локально, а остальные запускают только deploy job.
Runner на каждом сервере может сократить необходимость настраивать частную сеть и whitelist между машинами, но требует дополнительных ресурсов на каждом VPS.
Можно ли использовать Ansible для деплоев?
Да. Ansible можно применять не только для первоначальной настройки серверов, но и для регулярных деплоев. Конфигурация может подключаться к целевым машинам, подтягивать собранный Docker-образ и перезапускать Compose-проект.
Этот подход подходит для повторяющихся императивных действий: нужный workflow можно запускать вручную без внедрения полноценного Kubernetes. Ansible также может быть инструментом управляемой раскатки на production-серверы.
Нужно ли автоматически выкладывать изменения в production?
Для dev- и staging-серверов небольших команд допустим автоматический деплой. На production рекомендуется автоматически запускать тесты, а выкладку запускать вручную.
Важно: для критичного production-проекта опасно запускать деплой сразу после сборки образа. Если изменился контракт, от которого зависит другой сервис, компоненты могут временно оказаться несовместимыми. Автоматические тесты и деплой стоит разделять.
Какие платформы можно изучить вместо Kubernetes?
Чтобы сократить объём ручной DevOps-работы без полноценного Kubernetes, можно изучить Coolify и Dockploy, а также подходы DevOps as a Platform и DevOps as a Service.
У Coolify и Dockploy упоминались self-hosted-варианты. Часть функций может быть доступна только по подписке; возможные ограничения в обсуждении не были подтверждены практическим использованием.
Статья собрана по сообщениям за август 2026 года.
Не нашли ответ?
Эта вики собрана из обсуждений сообщества. Спросите в чате, там помогут.
Открыть чат в TelegramСобрано в Sveska из открытых обсуждений сообщества. Авторы сообщений не указываются.
Обновлено