В большинстве случаев мы рекомендуем использовать автоматическое развертывание или ручное развертывание из консоли Firebase. Однако вам может понадобиться более индивидуальный процесс развертывания. App Hosting предлагает несколько вариантов индивидуального развертывания.
Развертывание из источника с помощью Firebase CLI
Интерфейс командной строки Firebase позволяет переносить исходный код и конфигурацию приложения непосредственно с локального компьютера в Firebase. Это удобно, если у вас есть другие развёртывания Firebase (например, правила безопасности или функции) и вы хотите развернуть веб-приложение и внутренние службы одновременно одной командой интерфейса командной строки.
При развёртывании App Hosting загружает исходный код в хранилище Google Cloud Storage, запускает команду сборки фреймворка в Cloud Build и развёртывает финальные артефакты в Cloud Run и Cloud CDN. App Hosting использует тот же процесс сборки для локальных развёртываний исходного кода, что и для развёртываний GitHub.
Чтобы развернуть приложение из локального источника:
- Запустите
firebase init apphosting
в локальном каталоге проекта. - В приглашении выберите Использовать существующий проект , а затем выберите выбранный проект Firebase.
Выберите новый или существующий бэкэнд для развертывания; на этом шаге настраиваются развертывания App Hosting для вашего локального каталога, и вам предлагается ввести информацию, необходимую App Hosting для успешного развертывания вашего приложения:
- Идентификатор бэкэнда для развертывания
- Регион для развертывания (при создании нового бэкэнда)
- Путь к корневому каталогу кода приложения
App Hosting сохраняет ваши настройки развертывания в
firebase.json
(если файл отсутствует, он создаётся в локальном проекте). После успешного завершения инициализации вы можете запуститьfirebase deploy
для развертывания исходного кода в App Hosting .
Если у вас настроены локальные развёртывания для нескольких бэкендов (то есть в firebase.json
есть несколько записей backendId
), firebase deploy
выполнит развёртывание на каждом из этих бэкендов. Для развёртывания на определённом бэкенде используйте firebase deploy --only apphosting:backendId
Пример firebase.json
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions",
],
},
]
}
Развертывание с использованием Terraform
Если вам нужен больший контроль над процессом сборки и средой развёртывания, вы можете выполнить развёртывание с помощью Terraform. Terraform позволяет определять и управлять ресурсами App Hosting с помощью декларативных файлов конфигурации, а также предоставляет возможность развернуть собственный готовый образ контейнера непосредственно в App Hosting вместо того чтобы полагаться на App Hosting для сборки из исходного кода.
Если вы новичок в Terraform, ознакомьтесь со статьей «Начало работы с Terraform и Firebase» . Если вы уже знакомы с Terraform, вы можете начать работу с примерами файлов конфигурации и другими ресурсами App Hosting .
Развертывание с помощью Firebase Studio
Создав веб-приложение с помощью агента App Prototyping в Firebase Studio , вы можете опубликовать его или развернуть в Firebase App Hosting непосредственно из Firebase Studio . См. раздел Публикация приложения с помощью App Hosting .