Environment Variables
Environment Variables (переменные окружения) — это параметры конфигурации, которые передаются вашему приложению при сборке и выполнении.
Для чего используются
Заголовок раздела «Для чего используются»- API ключи — ключи внешних сервисов
- URL баз данных — подключение к базе данных
- Секреты — токены, пароли
- Конфигурация — настройки приложения
Уровни переменных
Заголовок раздела «Уровни переменных»ONREZA поддерживает переменные на двух уровнях:
Project Variables
Заголовок раздела «Project Variables»Переменные, специфичные для одного проекта.
- Доступны только в этом проекте
- Можно привязать к определённым окружениям
- Настраиваются в Project → Settings → Environment Variables
Workspace Variables
Заголовок раздела «Workspace Variables»Переменные, общие для всех проектов в workspace.
- Доступны во всех проектах (или выбранных)
- Удобно для общих API ключей
- Настраиваются в Workspace → Settings → Environment Variables
Разделы
Заголовок раздела «Разделы»Приоритет переменных
Заголовок раздела «Приоритет переменных»При конфликте имён используется следующий приоритет:
- System Variable — высший приоритет (перезаписывает пользовательские)
- Project Variable — перезаписывает workspace-переменные
- Linked Workspace Variable — базовый уровень
Деплой использует: ONREZA_ENV=production (System — перезаписывает одноимённые) DATABASE_URL=... (из Project) API_KEY=... (из Workspace, т.к. нет в Project)Scopes (Области применения)
Заголовок раздела «Scopes (Области применения)»Переменные можно применять к определённым окружениям:
| Scope | Описание |
|---|---|
| All Environments | Применяется везде |
| Selected | Только к выбранным окружениям |
Примеры
Заголовок раздела «Примеры»DATABASE_URL (Production) = postgres://prod-db...DATABASE_URL (Preview) = postgres://staging-db...Секреты
Заголовок раздела «Секреты»Переменные можно пометить как секреты:
- Зашифрованы в базе данных
- Скрыты в UI (показываются как
••••••) - Требуют подтверждения для просмотра
Системные переменные
Заголовок раздела «Системные переменные»ONREZA автоматически предоставляет системные переменные при каждом деплое:
| Переменная | Описание | Пример |
|---|---|---|
ONREZA_ENV | Тип окружения | production / preview / development |
ONREZA_PROJECT_NAME | Имя проекта | my-app |
ONREZA_GIT_BRANCH | Ветка деплоя | main, feature/auth |
ONREZA_GIT_COMMIT_SHA | SHA коммита | a1b2c3d4e5f6... |
ONREZA_GIT_COMMIT_MESSAGE | Сообщение коммита | fix: resolve login bug |
ONREZA_GIT_PROVIDER | Git-провайдер | github / gitverse / sourcecraft |
ONREZA_GIT_REPO_SLUG | Репозиторий | my-org/my-app |
ONREZA_PROTECTION_BYPASS | Секрет для обхода защиты preview | (только если настроен) |
Использование в коде
Заголовок раздела «Использование в коде»// Условная логика в зависимости от окруженияif (process.env.ONREZA_ENV === 'preview') { console.log('Это preview-деплой');}
// Информация о коммите для мониторингаconst release = process.env.ONREZA_GIT_COMMIT_SHA;Отключение системных переменных
Заголовок раздела «Отключение системных переменных»Если системные переменные конфликтуют с вашим кодом:
Project → Settings → Environment Variables → снимите галочку «Автоматически добавлять системные переменные»
Импорт и экспорт
Заголовок раздела «Импорт и экспорт»Импорт из файла
Заголовок раздела «Импорт из файла»Загрузите .env файл для быстрого создания переменных:
- Откройте Environment Variables
- Нажмите Import
- Выберите
.envфайл - Подтвердите импорт
Экспорт
Заголовок раздела «Экспорт»Скачайте все переменные в формате .env:
- Откройте Environment Variables
- Нажмите Export
- Файл скачается автоматически
Ограничения
Заголовок раздела «Ограничения»| Параметр | Hobby | Pro | Enterprise |
|---|---|---|---|
| Переменных на проект | 100 | 300 | 1 000 |
| Общий размер на проект | 32 КБ | 64 КБ | 256 КБ |
Общий размер считается по сумме всех значений переменных проекта. При превышении лимита операция будет отклонена с сообщением об ошибке.
Best Practices
Заголовок раздела «Best Practices»Именование
Заголовок раздела «Именование»# ХорошоDATABASE_URL=...STRIPE_SECRET_KEY=...NEXT_PUBLIC_API_URL=...
# Плохоdb=...key=...url=...Разделение окружений
Заголовок раздела «Разделение окружений»# ProductionDATABASE_URL=postgres://prod-server/db
# PreviewDATABASE_URL=postgres://staging-server/dbБезопасность
Заголовок раздела «Безопасность»- Никогда не храните секреты в коде
- Используйте разные значения для production и preview
- Периодически ротируйте токены и ключи
См. также
Заголовок раздела «См. также»- Окружения — Production, Preview, Custom
- Build Settings — настройки сборки
- Деплои — развёртывание