В большинстве случаев мы рекомендуем использовать автоматическое развертывание или развертывание, запускаемое вручную из консоли Firebase . Однако вам может потребоваться более индивидуальный процесс развертывания. App Hosting предлагает несколько вариантов для пользовательского развертывания.
Развертывание из исходного кода с помощью Firebase CLI.
Firebase CLI версии 14.4.0 и выше позволяет напрямую загружать исходный код и конфигурацию вашего приложения с локального компьютера в Firebase. Это удобно, если у вас есть другие развертывания Firebase (например, правила безопасности или функции) и вы хотите развернуть веб-приложение и серверные службы вместе с помощью одной команды CLI.
При развертывании App Hosting загружает ваш исходный код в хранилище Google Cloud Storage, запускает команду сборки фреймворка в Cloud Build и развертывает итоговые артефакты в Cloud Run и Cloud CDN. App Hosting использует тот же процесс сборки для локального развертывания исходного кода, что и для развертывания в GitHub. Если в вашем проекте есть файл .gitignore , файлы и папки, перечисленные в нем, исключаются из развертывания.
Чтобы развернуть приложение из локального источника:
- Запустите
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 .
Настройте подключение к GitHub для CI/CD.
В консоли Firebase на вкладке «Развертывание » в настройках бэкэнда вы можете в любой момент подключить репозиторий GitHub. Это позволит вам развернуть прототип приложения из локальной среды, а затем перейти к автоматизированному конвейеру CI/CD, когда вы будете готовы.
Внедрение с использованием инструментов искусственного интеллекта.
22 марта 2027 года мы прекращаем поддержку Firebase Studio . Хотя это не затронет ваши бэкэнды App Hosting , кнопка «Опубликовать» в Firebase Studio будет упразднена. Чтобы продолжить публикацию обновлений без изменения URL-адреса, перенесите свой проект. Узнайте, как это сделать .