Развертывание нескольких сред из базы кода

Обычно на основе одной и той же кодовой базы развертывается несколько сред, каждая из которых имеет несколько разную конфигурацию. Например, вы можете захотеть выделить меньше ЦП и ОЗУ для промежуточной среды или убедиться, что в вашей производственной среде хотя бы один экземпляр остается активным и готовым обслуживать запросы.

Чтобы узнать больше о средах, ознакомьтесь с обзором сред и общими рекомендациями по настройке проектов Firebase .

Предварительные условия

Шаг 0. Настройте производственную ветку git.

Если вы предпочитаете развертывать производственную среду из main ветки, перейдите к следующему шагу. Если вы хотите развернуть производство из другой ветки, например. production , вы должны сначала создать его на GitHub.

Чтобы создать свою производственную ветку с помощью пользовательского интерфейса GitHub, см. Создание и удаление веток в вашем репозитории .

Чтобы создать производственную ветку локально:

$ git checkout -b production
$ git push origin production:production

Шаг 1. Настройте рабочий файл apphosting.yaml.

Допустим, вы хотите убедиться, что на вашем производстве всегда работает хотя бы одна машина и имеются некоторые переменные среды, специфичные для производства. Вы можете настроить это, создав файл apphosting.yaml в корне вашего проекта примерно следующего содержания:

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 1

env:
  - variable: STORAGE_BUCKET
    value: <production Cloud Storage bucket name>

Полный список поддерживаемых параметров см. в разделе Настройка хостинга приложений .

После редактирования apphosting.yaml отправьте его в свой репозиторий GitHub:

$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin

Шаг 2. Разверните свою кодовую базу в рабочей среде

После настройки рабочей ветки git вы можете создать новый рабочий сервер хостинга приложений. Подробные инструкции см. в разделе Начало работы с хостингом приложений .

Чтобы создать новый бэкэнд с помощью консоли Firebase, перейдите по адресу https://console.firebase.google.com/project/_/apphosting , чтобы начать работу.

Чтобы создать его локально, сначала необходимо установить Firebase CLI , а затем запустить:

firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>

При успешном выполнении этой команды ваш производственный сервер должен быть запущен, и любые новые фиксации в вашей производственной ветке будут автоматически создаваться и развертываться с помощью хостинга приложений.

Шаг 3. Настройте промежуточную ветку git.

Выполните те же шаги, что и выше, чтобы создать промежуточную ветку на GitHub:

$ git checkout -b staging
$ git push origin staging:staging

Шаг 4. Настройте промежуточный файл apphosting.yaml.

В вашей промежуточной ветке уже должна быть копия рабочего файла apphosting.yaml. Давайте изменим его, чтобы хостинг приложений мог отключать вашу промежуточную среду, когда она не используется активно, а также устанавливать другое значение для переменной среды STORAGE_BUCKET .

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 0

env:
  - variable: STORAGE_BUCKET
    value: <some other staging Cloud Storage bucket name>

После завершения редактирования отправьте файл в промежуточную ветку git:

$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin

Шаг 5. Разверните базу кода на промежуточной основе.

После настройки промежуточной ветки git вы можете выполнить те же шаги, что и выше, чтобы развернуть свою кодовую базу в промежуточной версии:

firebase apphosting:backends:create --project <replace with your STAGING project ID>

После выполнения этого шага у вас будет две серверные части хостинга приложений, работающие на одной и той же базе кода: одна для рабочей среды, другая для промежуточной обработки, каждая из которых находится в разных проектах Firebase.

Следующие шаги