Сборка (Railpack)
Как DeployCode собирает приложение из репозитория.
Приложения собираются Railpack — он сам определяет язык и фреймворк, ставит зависимости и выбирает команду запуска. Dockerfile не нужен. Сборка выполняется на вашем сервере.
По умолчанию используется Railpack 0.35.0.
Настройки «Сборка и запуск»
Если автоопределение не подходит, команды можно переопределить в настройках приложения. Переопределения хранятся в DeployCode и не меняют файлы репозитория.
| Настройка | Что делает |
|---|---|
| Команда установки | Заменяет установку зависимостей |
| Команда сборки | Заменяет сборку |
| Результат сборки | Определить автоматически, Веб-сервис или Статический сайт |
| Команда запуска | Заменяет команду запуска (кроме статического сайта) |
| Каталог результата | Каталог с готовыми файлами — обязателен для статического сайта |
Результат сборки
- Определить автоматически — Railpack сам решает, запускать сервер или отдавать статику.
- Веб-сервис — всегда запускать приложение как сервер, даже если Railpack распознал SPA.
- Статический сайт — отдавать файлы из каталога результата встроенным веб-сервером. Команду запуска для статического сайта указать нельзя.
Путь сборки
Если приложение лежит не в корне репозитория (монорепозиторий), укажите путь сборки — относительный путь к каталогу приложения.
Переменные Railpack
Railpack настраивается переменными вида RAILPACK_* — например, RAILPACK_NODE_VERSION или
RAILPACK_PYTHON_VERSION. Задайте их как переменные приложения с этапом
«Только сборка» или «Сборка и запуск» — с вариантом по умолчанию «Только запуск» Railpack их не
увидит. Переменные для каждого языка — в разделе
Фреймворки.
Кеш сборки
Кеш Railpack переиспользуется между развёртываниями. После каждой сборки, в том числе неудачной, его размер ограничивается 2 ГБ. Заодно с сервера удаляются промежуточные образы без тегов.
Чтобы сбросить кеш, на странице сервера в «Очистке диска» выберите «Кеш сборок».