DeployCode
Сборка и развёртывание

Сборка (Railpack)

Как DeployCode собирает приложение из репозитория.

Приложения собираются Railpack — он сам определяет язык и фреймворк, ставит зависимости и выбирает команду запуска. Dockerfile не нужен. Сборка выполняется на вашем сервере.

По умолчанию используется Railpack 0.35.0.

Настройки «Сборка и запуск»

Если автоопределение не подходит, команды можно переопределить в настройках приложения. Переопределения хранятся в DeployCode и не меняют файлы репозитория.

НастройкаЧто делает
Команда установкиЗаменяет установку зависимостей
Команда сборкиЗаменяет сборку
Результат сборкиОпределить автоматически, Веб-сервис или Статический сайт
Команда запускаЗаменяет команду запуска (кроме статического сайта)
Каталог результатаКаталог с готовыми файлами — обязателен для статического сайта

Результат сборки

  • Определить автоматически — Railpack сам решает, запускать сервер или отдавать статику.
  • Веб-сервис — всегда запускать приложение как сервер, даже если Railpack распознал SPA.
  • Статический сайт — отдавать файлы из каталога результата встроенным веб-сервером. Команду запуска для статического сайта указать нельзя.

Путь сборки

Если приложение лежит не в корне репозитория (монорепозиторий), укажите путь сборки — относительный путь к каталогу приложения.

Переменные Railpack

Railpack настраивается переменными вида RAILPACK_* — например, RAILPACK_NODE_VERSION или RAILPACK_PYTHON_VERSION. Задайте их как переменные приложения с этапом «Только сборка» или «Сборка и запуск» — с вариантом по умолчанию «Только запуск» Railpack их не увидит. Переменные для каждого языка — в разделе Фреймворки.

Кеш сборки

Кеш Railpack переиспользуется между развёртываниями. После каждой сборки, в том числе неудачной, его размер ограничивается 2 ГБ. Заодно с сервера удаляются промежуточные образы без тегов.

Чтобы сбросить кеш, на странице сервера в «Очистке диска» выберите «Кеш сборок».

На этой странице