В большинстве случаев мы рекомендуем использовать автоматическое развертывание или развертывание, запускаемое вручную из консоли 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 .
Развертывание с помощью Firebase Studio
При создании веб-приложения с помощью агента прототипирования приложений в Firebase Studio вы можете опубликовать или развернуть его в Firebase App Hosting непосредственно из Firebase Studio . См. раздел «Публикация приложения с помощью App Hosting» .
Настройте подключение к GitHub для CI/CD.
В консоли Firebase на вкладке «Развертывание » в настройках бэкэнда вы можете в любой момент подключить репозиторий GitHub. Это позволит вам развернуть прототип приложения из локальной среды, например, Firebase Studio или другой IDE, а затем перейти к автоматизированному конвейеру CI/CD, когда вы будете готовы.