Деплой приложения из GitHub

Зачем это нужно

Отправили код в GitHub — получили рабочий адрес. Репозиторий подключается один раз, после чего каждый git push в продакшн-ветку сам запускает сборку и выкатку. Для большинства распространённых фреймворков Dockerfile не нужен: Next.js, FastAPI, Spring Boot, Django, Go и ещё полтора десятка определяются автоматически.

Как выкатить приложение

  1. Откройте проект и перейдите в Applications.
  2. Нажмите Deploy application.
  3. Выберите окружение (облачное или VM — из VM-окружения так деплоить нельзя, см. «Подводные камни»).
  4. Выберите карточку From GitHub и нажмите Continue.
  5. Если аккаунт GitHub ещё не подключён, нажмите Connect GitHub и разрешите доступ GitHub-приложению dada-cloud. Позже можно добавить ещё аккаунты и организации через Add another account.
  6. Найдите и выберите репозиторий. У приватных стоит иконка замка.
  7. Проверьте шаг Configure:
    • Application name — подставляется из имени репозитория, можно изменить (строчные буквы, цифры, дефисы).
    • Framework — определяется по содержимому репозитория; если угадал неверно, выберите из списка вручную (сгруппирован по Java/JVM, Python, JavaScript/TypeScript, статика/Dockerfile).
    • Port, Profile (small/medium/large), Production branch, Root directory.
    • Auto-deploy — включён по умолчанию: каждый пуш в продакшн-ветку пересобирает приложение.
  8. Нажмите Deploy. Мастер тут же покажет живой лог сборки.
  9. После успешной сборки появятся действия Retry, View deployments и Open app.

Подводные камни

  • Смена Root directory заново запускает определение фреймворка — при потере фокуса полем.
  • Если определить фреймворк не удалось, порт по умолчанию 8080, а фреймворк выбирается руками.
  • После нажатия Deploy выбор репозитория и поля Configure блокируются: спецификацию, с которой ушла сборка, на лету не поправить. Исправляйте после завершения — в настройках приложения или повторным импортом.
  • Репозиторий одновременно связан только с одним приложением. Повторная привязка той же пары «репозиторий — приложение» считается уже существующей и просто запускает новую выкатку, а не падает с ошибкой.
  • Пункт меню Builds (подключения репозиториев и история) виден только ролям Owner и Admin. Developer может пройти этот мастер (нужно только право на запись), но списка Builds потом не увидит — ему подойдёт вкладка Deployments внутри приложения.
  • VM-окружения показывают предупреждение и полностью блокируют деплой с этой страницы — используйте свою виртуальную машину или подключение существующих нагрузок.

Чего пока нет

  • Preview-выкаток на каждый pull request — автоматически деплоится только одна настроенная продакшн-ветка.
  • Настройки кэша сборки.
  • Смены порта, профиля и фреймворка прямо из этого мастера — после создания приложения это живёт в его настройках.

Куда дальше