Документация / Разработка и деплой
Окружения и превью
Production, staging, pull request и содержимое копии окружения.
Production и staging
При создании проекта появляется production. Создайте другое окружение копированием существующего, например staging. Для нового окружения можно выбрать ветку. Проверяйте переключатель окружения перед изменением переменных, чтением логов, деплоем и восстановлением бэкапа.
Что входит в копию
| Объект | Результат |
|---|---|
| Переменные сервисов и общие переменные | Значения копируются, ссылки разрешаются внутри нового окружения |
| Сгенерированные домены | Новые адреса для нового окружения |
| Volumes | Новые пустые volumes с теми же путями |
| Свои домены | Не копируются |
| Содержимое баз | Не копируется |
Сервисы с репозиторием или образом деплоятся при копировании, кроме импортированных сервисов, явно ожидающих переключения. Для сервиса, загруженного только через CLI, нет повторно доступного репозитория: потребуется новая загрузка.
Определение сервиса общее для окружений, а экземпляры процессов и данные отдельные. Некоторые настройки, включая Network Permissions и включение Deploy Watch, относятся ко всему сервису. Для применения изменённых настроек работающим экземплярам нужны описанные в соответствующем разделе шаги деплоя.
Внешние действия
Строка DATABASE_URL, платёжный ключ, токен бота или почтовые данные после копирования могут по-прежнему вести в production. Используйте тестовые ключи и замените внешние URL до запуска кода, который меняет данные или отправляет сообщения. Пустой volume не мешает коду подключиться к внешней производственной базе.
Превью pull request
При подключённом GitHub включите окружения pull request в настройках проекта. Превью получает своё окружение и адрес. Закрытие pull request удаляет его ресурсы. Volumes превью временные и не входят в бэкапы по расписанию.