Альтернативные способы развертывания на хостинге приложений

В большинстве случаев мы рекомендуем использовать автоматическое развертывание или развертывание, запускаемое вручную из консоли 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 , файлы и папки, перечисленные в нем, исключаются из развертывания.

Чтобы развернуть приложение из локального источника:

  1. Запустите firebase init apphosting в локальной директории вашего проекта.
  2. В появившемся окне выберите «Использовать существующий проект» , а затем выберите нужный проект Firebase.
  3. Выберите новый или существующий бэкэнд для развертывания; на этом шаге настраиваются развертывания App Hosting для вашей локальной директории, и вам будет предложено ввести информацию, необходимую App Hosting для успешного развертывания вашего приложения:

    1. Идентификатор бэкэнда, в который будет выполнено развертывание.
    2. Регион для развертывания (при создании нового бэкэнда)
    3. Путь к корневому каталогу кода приложения.

    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-адреса, перенесите свой проект. Узнайте, как это сделать .