App Hosting'e dağıtmanın alternatif yolları

Çoğu zaman, Firebase Console'dan otomatik dağıtımları veya manuel olarak tetiklenen dağıtımları kullanmanızı öneririz. Ancak, daha özelleştirilmiş bir dağıtım akışına ihtiyacınız olabilir. App Hosting, özel dağıtım için birden fazla seçeneğe sahiptir.

Firebase CLI ile kaynaktan dağıtma

Firebase CLI, uygulamanızın kaynak kodunu ve yapılandırmasını doğrudan yerel makinenizden Firebase'e göndermenizi sağlar. Başka Firebase dağıtımlarınız (ör. güvenlik kuralları veya işlevler) varsa ve web uygulamanızı ile arka uç hizmetlerinizi tek bir KSA komutuyla birlikte dağıtmak istiyorsanız bu yöntem kullanışlıdır.

App Hosting, dağıtım sırasında kaynak kodunuzu bir Google Cloud Storage paketine yükler, Cloud Build'de çerçeve derleme komutunuzu çalıştırır ve son yapıları Cloud Run ile Cloud CDN'ye dağıtır. App Hosting, yerel kaynak dağıtımları için GitHub dağıtımlarıyla aynı derleme sürecini kullanır.

Uygulamanızı yerel kaynaktan dağıtmak için:

  1. Yerel proje dizininizde firebase init apphosting komutunu çalıştırın.
  2. İstemde Mevcut bir projeyi kullan'ı ve ardından seçilen Firebase projesini belirleyin.
  3. Dağıtım için yeni veya mevcut bir arka uç seçin. Bu adım, yerel dizininiz için App Hosting dağıtımlarını ayarlar ve uygulamanızı başarıyla dağıtmak için App Hosting gereken bilgileri ister:

    1. Dağıtım yapılacak arka ucun kimliği
    2. Dağıtım yapılacak bölge (yeni bir arka uç oluşturuluyorsa)
    3. Uygulama kodunun kök dizininin yolu

    App Hosting, dağıtım tercihleriniz firebase.json dosyasına kaydedilir (dosya yoksa yerel projenizde oluşturulur). İlk kullanıma hazırlama işlemi başarıyla tamamlandıktan sonra kaynak kodunuzu App Hosting'ye dağıtmak için firebase deploy komutunu çalıştırabilirsiniz.

Birden fazla arka uç için yerel kaynak dağıtımları ayarladıysanız (yani firebase.json içinde birden fazla backendId girişi varsa) firebase deploy, bu arka uçların her birine dağıtılır. Belirli bir arka uca dağıtmak için firebase deploy --only apphosting:backendId komutunu kullanın.

Örnek 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 kullanarak dağıtma

Derleme süreci ve dağıtılan ortam üzerinde daha fazla kontrole ihtiyacınız varsa Terraform kullanarak dağıtım yapabilirsiniz. Terraform, bildirim temelli yapılandırma dosyalarını kullanarak App Hosting kaynaklarınızı tanımlamanıza ve yönetmenize olanak tanır. Ayrıca, kaynak kodunuzdan derleme yapmak için App Hosting yerine kendi önceden oluşturulmuş kapsayıcı görüntünüzü doğrudan App Hosting'ya dağıtma olanağı sağlar.

Terraform'u kullanmaya yeni başladıysanız Terraform ve Firebase'i kullanmaya başlama başlıklı makaleyi inceleyin. Terraform'a aşinaysanız örnek yapılandırma dosyaları ve diğer App Hosting kaynaklarla başlayabilirsiniz.

Firebase Studio'yu kullanarak dağıtma

Firebase Studio'da App Prototyping aracısıyla bir web uygulaması oluşturduğunuzda, doğrudan Firebase Studio'dan Firebase'de yayınlayabilir veya dağıtabilirsiniz.App Hosting Uygulamanızı App Hosting ile yayınlama başlıklı makaleyi inceleyin.