Build Settings
Настройки сборки определяют как ONREZA собирает и деплоит ваш проект.
Где найти настройки
Заголовок раздела «Где найти настройки»Project → Settings → Build & Deployment
Основные настройки
Заголовок раздела «Основные настройки»Framework Preset
Заголовок раздела «Framework Preset»Выбранный фреймворк определяет значения по умолчанию для остальных настроек.
- Auto-detected — ONREZA автоматически определил фреймворк
- Override — вы вручную выбрали другой фреймворк
Build Command
Заголовок раздела «Build Command»Команда для сборки проекта.
Значение по умолчанию: npm run build
Примеры:
npm run buildyarn buildpnpm run buildbun run buildnext build && next exportOverride:
- Если поле пустое — используется значение по умолчанию для фреймворка
- Если заполнено — используется ваше значение
Output Directory
Заголовок раздела «Output Directory»Папка с результатом сборки, которая будет развёрнута.
Примеры по фреймворкам:
- Next.js (static):
out - Vite:
dist - Create React App:
build - Nuxt:
.output/public
Install Command
Заголовок раздела «Install Command»Команда для установки зависимостей.
Значение по умолчанию: Определяется автоматически по lock-файлу:
package-lock.json→npm installyarn.lock→yarn installpnpm-lock.yaml→pnpm installbun.lockb→bun install
Root Directory
Заголовок раздела «Root Directory»Путь к корню проекта относительно репозитория. Используется для монорепозиториев.
По умолчанию: . (корень репозитория)
Пример для монорепо:
my-monorepo/├── packages/│ ├── web/ ← Root Directory: packages/web│ └── api/└── package.jsonInclude Files Outside Root
Заголовок раздела «Include Files Outside Root»Если включено, файлы за пределами Root Directory также будут включены в контекст сборки. Полезно для монорепозиториев с общими зависимостями.
По умолчанию: выключено
Когда включать:
- Монорепо с общими пакетами в корне
- Shared configuration files (tsconfig.base.json)
- Workspaces с hoisted зависимостями
Расширенные настройки
Заголовок раздела «Расширенные настройки»Runtime Version
Заголовок раздела «Runtime Version»Версия рантайма зависит от package manager вашего проекта:
Node.js проекты (npm, yarn, pnpm)
Заголовок раздела «Node.js проекты (npm, yarn, pnpm)»| Версия | Описание |
|---|---|
| Node 20 | LTS, рекомендуется |
| Node 22 | Current |
| Node 24 | Latest |
Bun проекты
Заголовок раздела «Bun проекты»Для проектов с bun.lock или bun.lockb используется Bun 1.x (latest). Выбор версии недоступен — всегда используется последняя стабильная версия Bun.
Build Timeout
Заголовок раздела «Build Timeout»Максимальное время сборки в минутах.
По умолчанию: 20 минут
Если сборка занимает больше времени, она будет отменена с ошибкой.
Concurrent Builds
Заголовок раздела «Concurrent Builds»Количество одновременных сборок для проекта.
| План | Лимит |
|---|---|
| Hobby | 1 |
| Pro | 3 |
Prioritize Production Builds
Заголовок раздела «Prioritize Production Builds»Только для Pro плана
Если включено, production деплои (из main ветки) будут иметь приоритет в очереди над preview деплоями.
Ignored Build Step
Заголовок раздела «Ignored Build Step»Находится в: Project → Settings → Git
Позволяет пропустить сборку при определённых условиях.
Варианты
Заголовок раздела «Варианты»| Опция | Описание |
|---|---|
| Automatic | Каждый коммит создаёт деплой |
| Only Production | Сборка только для production (main branch) |
| Only Preview | Сборка только для preview (остальные ветки) |
| Only Changes | Сборка только если есть изменения в отслеживаемых файлах |
| Changes in Folder | Сборка только если изменения в указанной папке |
| Never | Никогда не собирать |
| Bash Script | Пользовательный bash скрипт для проверки |
| Node Script | Пользовательный Node.js скрипт для проверки |
Changes in Folder
Заголовок раздела «Changes in Folder»Полезно для монорепозиториев — собирать только если изменения затронули этот пакет.
Пример:
- Root Directory:
packages/web - Ignored Build Step: Changes in Folder
- Folder:
packages/web
Custom Command
Заголовок раздела «Custom Command»Bash скрипт, который определяет нужно ли запускать сборку.
Пример:
# Пропустить если изменения только в READMEif git diff --name-only HEAD~1 | grep -qvE '^README\.md$'; then exit 1 # Запустить сборкуelse exit 0 # Пропустить сборкуfi- Exit code 0 — пропустить сборку
- Exit code 1 — запустить сборку
Environment Variables при сборке
Заголовок раздела «Environment Variables при сборке»System Environment Variables
Заголовок раздела «System Environment Variables»ONREZA автоматически предоставляет переменные при сборке и runtime:
| Переменная | Описание |
|---|---|
ONREZA_ENV | Тип окружения: production, preview, development, custom |
ONREZA_PROTECTION_BYPASS | Секрет для обхода защиты preview (если настроен) |
Expose System Env Vars
Заголовок раздела «Expose System Env Vars»Если отключено, системные переменные не будут доступны при сборке. Это может быть нужно если они конфликтуют с вашим кодом.
Оптимизация сборки
Заголовок раздела «Оптимизация сборки»Кэширование
Заголовок раздела «Кэширование»ONREZA автоматически кэширует:
node_modules/— зависимости.next/cache/— кэш Next.js- Другие кэши фреймворков
Это ускоряет последующие сборки.
Параллельные зависимости
Заголовок раздела «Параллельные зависимости»Для ускорения установки зависимостей:
- Используйте
npm ciвместоnpm install - Используйте pnpm или bun для более быстрой установки
Troubleshooting
Заголовок раздела «Troubleshooting»Сборка слишком долгая
Заголовок раздела «Сборка слишком долгая»- Проверьте Build Timeout — возможно нужно увеличить
- Оптимизируйте сборку (code splitting, dynamic imports)
- Убедитесь что кэширование работает
- Рассмотрите upgrade до Pro плана для увеличения ресурсов
”Command not found”
Заголовок раздела «”Command not found”»- Убедитесь что команда есть в scripts в
package.json - Или используйте полный путь:
npx next build
Output directory is empty
Заголовок раздела «Output directory is empty»- Проверьте что сборка завершилась успешно
- Проверьте правильность Output Directory
- Проверьте конфигурацию фреймворка (может генерировать в другую папку)
См. также
Заголовок раздела «См. также»- Фреймворки — настройки по фреймворкам
- Environment Variables — переменные окружения
- Деплои — управление деплоями