DigitalOcean App Platform — быстрое развертывание сайтов и приложений
Быстрые ссылки
- Создание сайта
- Подключение DigitalOcean к репозиторию
- Конфигурация приложения
- Развёртывание приложения
- Управление приложением
- Добавление домена
- Заключение

App Platform — новое предложение Platform-as-a-Service (PaaS) от DigitalOcean. Он позволяет пушить код в продакшен, не настраивая серверы вручную. App Platform подключается к репозиториям GitHub и GitLab и автоматически собирает и деплоит проекты.
DigitalOcean запустил App Platform в октябре 2020 года с идеей «переосмыслить» PaaS. Это полностью управляемое решение, которое поддерживает популярные языки, автоматически выдаёт HTTPS-сертификат и предоставляет горизонтальное и вертикальное масштабирование.
Создание сайта
В этом руководстве мы покажем, как использовать бесплатный Starter-план для сборки и развёртывания статического сайта без забот об инфраструктуре. Вы можете запустить до трёх сайтов бесплатно. Дополнительные сайты можно добавить, подняв тариф или оплатив фиксированную плату $3/мес за сайт.
Первый шаг — создать статический сайт. App Platform поддерживает популярные статические генераторы: Gatsby, Hugo, Jekyll. Можно использовать просто HTML и CSS без сборки.
В примере используется минимальный Jekyll-сайт. Если хотите повторить — форкните один из примеров DigitalOcean. После создания сайта запушьте код в репозиторий на GitHub или GitLab.
Подключение DigitalOcean к репозиторию
Когда будете готовы к развёртыванию, войдите в аккаунт DigitalOcean. Нажмите ссылку “Apps” в левой боковой панели. Затем кликните синюю кнопку “Launch Your App”.

Далее нужно подключить App Platform к вашему аккаунту GitHub или GitLab. Нажмите соответствующую кнопку и пройдите процесс аутентификации, предоставив разрешения на доступ к репозиториям. После успешной авторизации вы вернётесь в панель DigitalOcean.

Вы увидите, что аккаунт подключён. Выберите репозиторий для развёртывания из выпадающего списка. Если репозиторий не виден, проверьте права доступа в Git-провайдере и следуйте подсказкам на экране.

Конфигурация приложения
На следующем экране укажите имя приложения — оно отображается в UI DigitalOcean. Рекомендуется совпадение с именем репозитория.
Выберите регион дата-центра через выпадающий список. На момент написания App Platform поддерживал регионы: New York, Amsterdam и Frankfurt. Обычно выбирайте ближайший к пользователям регион.

Выберите ветку для развёртывания. Значение по умолчанию:
masterподойдёт для большинства проектов. Можно сменить на ветку для предварительных релизов, например:
stagingили
testПоследняя опция — “Autodeploy code changes” — определяет, будет ли DigitalOcean автоматически обновлять приложение при новых коммитах. Если включено, App Platform будет отслеживать репозиторий и запускать новый деплой при слиянии в выбранную ветку. Если выключить — придётся запускать деплой вручную.
Когда нажмёте “Next”, DigitalOcean просканирует репозиторий, чтобы определить процесс сборки. В нашем случае App Platform идентифицировал Jekyll-проект и автоматически заполнил команду сборки.

Вы можете отредактировать команду сборки при необходимости. Также здесь задаются переменные окружения, доступные на этапе сборки.
Рекомендации по переменным окружения и секретам
- Храните секреты как «secrets» в App Platform, если платформа это поддерживает. Не размещайте секреты в репозитории.
- Используйте имена переменных в верхнем регистре, например
API_KEY. - Если сборка требует приватных зависимостей, пропишите токены доступа через переменные окружения.
Развёртывание приложения
Нажмите кнопку Next, чтобы финализировать развёртывание. Подтвердите выбранный тариф App Platform. Выберите бесплатный Starter-план (или платный, если нужен больше ресурсов) и проверьте отображаемую месячную стоимость приложения. Нажмите синюю кнопку “Launch Starter App” для начала.

Развёртывание может занять несколько минут — платформа должна собрать сайт (здесь запустится Jekyll) и развернуть артефакты. Прогресс отображается в дашборде проекта.

В конце вы увидите зелёное сообщение “Deployed successfully”. Приложение развернуто в облаке DigitalOcean. Нажмите ссылку “Live App” для просмотра — вам будет назначен случайный поддомен вида:
ondigitalocean.appВ нашем примере доступна стандартная домашняя страница Jekyll.

Управление приложением
После развёртывания используйте дашборд для мониторинга и управления. Вкладка “Overview” показывает время последнего деплоя и базовую статистику состояния.

Во вкладке “Insights” доступны графики метрик — например, пропускная способность CDN. Вкладка “Deployments” хранит историю развёртываний: сначала будет событие “initial deployment”, затем по мере новых пушей появятся новые логи.

Если вы измените файл в репозитории, сделаете коммит и пуш в ветку развёртывания, App Platform (при включённом автодеплое) автоматически запустит новый деплой. Через несколько минут изменения станут видимы.
Логирование и отладка
- Используйте вкладку Deployments для просмотра логов сборки и запуска.
- Для временной отладки добавляйте подробные логи на этапе сборки и рантайма.
- Если нужен интерактивный доступ к компоненту — используйте консоль, если платформа предоставляет такую опцию.
Добавление домена
App Platform поддерживает добавление кастомных доменов. Поддомен вида ondigitalocean.app удобен для теста, но для реального сайта используйте собственный домен.
Перейдите во вкладку “Settings” в дашборде приложения. Нажмите ссылку “Edit” рядом с разделом Domains и кнопку “Add Domain”, введите домен, который хотите подключить.

На следующем экране следуйте инструкциям по привязке домена к развёртыванию. Если вы используете DNS DigitalOcean, необходимые записи будут созданы автоматически. В противном случае скопируйте записи и добавьте их в панель вашего регистратора.

Нажмите “Add Domain” — домен будет привязан и начнёт работать после обновления DNS. DigitalOcean автоматически получит SSL-сертификат для сайта.
Когда App Platform не подходит (ограничения и контрпримеры)
- Приложения с очень специфичными требованиями к сети, VPC или приватной подсети часто удобнее запускать в собственной VM/managed Kubernetes.
- Если требуются длительные фоновые процессы с нестандартной диспетчеризацией задач, PaaS-ограничения по времени выполнения/таймаутам могут стать проблемой.
- Очень большие одноранговые базы данных и специфичные конфигурации хранения лучше держать в управляемой базе данных (Managed DB) или выделенных инстансах.
- Сложные сценарии безопасности (например, сервисы в закрытых подсетях с продвинутыми firewall-правилами) иногда требуют полного контроля инфраструктуры.
Альтернативные подходы
- DigitalOcean Droplets: виртуальные машины для случаев, когда нужен полный контроль ОС и сети.
- Managed Kubernetes: для сложных микросервисных нагрузок и кастомного сетевого стека.
- Другие PaaS (Heroku, Render): сравнивайте по цене, региональному покрытию и интеграциям.
Ментальные модели и эвристики
- Минимально жизнеспособный деплой: локально собрать, пушнуть в ветку, проверить автоматический деплой и smoke tests.
- Разделение ответственности: App Platform — для runtime и сборки; репозиторий — источник правды; CI — для тестов и проверки качества перед слиянием.
- Cost→Control: чем больше вы платите за управляемые сервисы, тем меньше контроля, но тем быстрее доставка фич.
Мини‑методология для безопасного развёртывания (шаги)
- Настройте приватные секреты в App Platform.
- Разделите ветки:
masterдля продакшена,stagingдля релизного тестирования. - Включите автодеплой для
staging, ручной запуск дляmaster+ проверки CI. - Добавьте smoke tests, которые запускаются после деплоя и возвращают HTTP 200.
- Мониторьте логи и метрики в первые 30 минут после деплоя.
- Если тесты не прошли — откатите на предыдущую версию.
Роль‑ориентированные чек‑листы
Разработчик
- Проверить локально сборку и статические проверки.
- Обновить README с инструкциями по локальной сборке.
- Пометить зависимости в package manager.
DevOps / инженер по надёжности
- Настроить переменные окружения и секреты.
- Настроить мониторинг и алерты на ошибки сборки/высокую латентность.
- Прописать процедуру отката.
Продукт / владелец
- Убедиться, что домен и SSL подключены.
- Проверить основные пользовательские сценарии после деплоя.
- Запланировать окно для крупного релиза.
Критерии приёмки
- Сайт доступен по кастомному домену с валидным HTTPS.
- Все интеграции (CDN, внешние API) работают корректно.
- Smoke tests возвращают успешный статус (HTTP 200) в заданный интервал.
- В логах отсутствуют критические ошибки при загрузке страницы.
Откат и runbook инцидента
- При обнаружении критической ошибки — переключите трафик на предыдущую стабильно развернутую версию в Deployments.
- Если переключение не помогает — верните CNAME на резервный хост или временную страницу уведомления пользователей.
- Соберите логи и начните root-cause анализ: ошибка сборки/изменение конфигурации/секреты.
- Примените исправление в ветке
hotfix, пройдите CI, затем деплойте вmaster.
Безопасность и жёсткая конфигурация
- Включите двухфакторную аутентификацию для аккаунта DigitalOcean.
- Дайте минимально необходимые права при подключении GitHub/GitLab (по возможности ограничьте доступ по репозиториям).
- Храните секреты в защищённом хранилище App Platform.
- Используйте HTTPS и автоматические сертификаты от платформы.
Советы по производительности и масштабированию
- Для статических сайтов используйте CDN-опции, которые интегрированы с платформой.
- Горизонтальное масштабирование: увеличьте число экземпляров для роста трафика.
- Вертикальное масштабирование: поднимите ресурсный план, если приложение требует больше CPU/RAM.
Совместимость и миграция
- При миграции с другой PaaS проверьте различия в переменных окружения и путях артефактов.
- Для баз данных используйте managed-DB с бэкапами и репликацией; перенесите данные заранее и протестируйте схемы.
- Проверьте время жизни сессий и cookie-параметры в новом окружении.
Факт‑бокс: ключевые числа
- Запуск платформы: октябрь 2020.
- Бесплатно на Starter-плане: до 3 сайтов.
- Дополнительные сайты: $3/мес за сайт (альтернатива — апгрейд тарифа).
- Поддерживаемые регионы на момент написания: New York, Amsterdam, Frankfurt.
Шаблон контроля качества (короткий)
- Локальная сборка: пройдена
- Unit / интеграционные тесты: пройдены
- Smoke tests на проде: пройдены
- Мониторинг: настроен
- Документация: обновлена в README
Короткая объявление‑версия (100–200 слов)
DigitalOcean App Platform — PaaS для быстрого вывода сайтов и сервисов в продакшен прямо из репозитория GitHub/GitLab. Поддерживает статические сайты и динамические компоненты, автоматизирует сборку, выдаёт HTTPS и упрощает масштабирование. Бесплатный Starter-план позволяет запустить до трёх сайтов; дополнительные сайты можно добавить за $3/мес или перейти на платный тариф. Подключение происходит через UI: выбираете репозиторий, ветку, настраиваете команду сборки и переменные окружения, затем запускаете деплой. Для большинства простых веб‑проектов App Platform заметно сокращает время на инфраструктуру, сохраняя при этом возможности управления, мониторинга и отката.
Социальный превью (рекомендации)
OG title: DigitalOcean App Platform — быстрое развертывание сайтов OG description: Разверните статический сайт или приложение из Git за минуты: автоматические деплои, SSL и бесплатный стартовый план.
Небольшой глоссарий (1‑строчные определения)
- PaaS: платформа, управляющая средой выполнения приложения, абстрагирующая серверы.
- Autodeploy: автоматический запуск деплоя при пуше в заданную ветку.
- Starter: бесплатный тариф App Platform для небольших сайтов.
Заключение
DigitalOcean App Platform — удобный инструмент для команд и отдельных разработчиков, которым нужно быстро доставлять код в интернет без настройки серверов. Для простых статических и небольших динамических проектов это экономит время и снижает сложность. При росте требований — миграция на управляемые кластеры или VPS остаётся возможной.
Важно: перед переходом в продакшен проверьте сценарии отката, настройте мониторинг и храните секреты вне репозитория.
Summary
- App Platform быстро разворачивает приложения из Git без инфраструктуры.
- Бесплатный Starter-план подходит для тестовых и небольших проектов.
- Для сервисов с особыми требованиями к сети, хранилищу или безопасности лучше рассмотреть Droplets или управляемый Kubernetes.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента