Uygulama Barındırma'yı ve işleyiş şeklini anlama

App Hosting, Android cihazlar için tasarlanan karmaşık bir dizi arka plan görevini en iyi uygulamaları paylaştık. Bu sayfada, o görev akışının akışı özelleştirmek isteyebileceğiniz noktalarla ilgili bilgi vermek farklı özellikleri vardır.

Çerçeve desteği

App Hosting, web uygulamaları için yapılandırma gerektirmeyen derleme ve dağıtım desteği sağlar şu çerçevelerde geliştirilmiştir:

  • Next.js 13 ve sonraki sürümler
  • Angular 17.2+

App Hosting, kullanmakta olduğunuz çerçeveyi belirler ve package-lock.json dosyası veya başka bir kilit dosyası yükleyin. Örneğin kilit dosyası olmayan bir Node.js uygulamasını dağıttığınızda Uygulama Barındırma uygulamanızı derleyip çalıştırın. Kök dizininizde npm install komutunu çalıştırarak package-lock.json oluşturabilirsiniz.

Uygulama Barındırma çerçeve bağdaştırıcılarının iki temel rolü vardır:

  1. Kaynak kodunuzu ve çerçeveye özgü yapılandırma dosyalarını (örneğin, next.config.js) anladığınızdan emin olun.
  2. Uygulamanızın derleme komutunu çalıştırarak statik öğeleri üretir ve uygulamanızın üretim için optimize edilmiş sürümünü kullanın.

Çerçeve bağdaştırıcıları, Node.js uygulamanızı npm run build ile oluşturur ve en iyi sonucu verir her çerçeve için varsayılan derleme komut dosyalarıyla: Next.js için next build ve Angular için ng build. App Hosting, özel derlemeyle derlemeleri dener komutlarının verilmesine neden olur, ancak işlemin başarılı olacağını garanti edemez.

App Hosting depo entegrasyonunun işleyiş şekli

GitHub deponuz ve App Hosting arasındaki önemli bağlantı arka uç, Developer Connect, Google Cloud'un bağlantı platformu geliştirme ekibidir. Uygulama Barındırma arka ucu oluşturulurken Developer Connect'in kullanıcı arayüzü iş akışı, Firebase GitHub uygulaması. Bu süreçteki temel adımlar şunlardır:

  1. Developer Connect'e Secret Manager Yöneticisi çok önemlidir. Bu, sistemin kimlik bilgilerini güvenli bir şekilde "gizli anahtar" olarak depolamasına olanak tanır. bir listesini oluştur: Cloud Secret Manager.
  2. Firebase GitHub uygulamasına GitHub'ınıza erişme yetkisi verirsiniz" depo.
  3. Developer Connect, cihazınızda özel bir GitHub yetkilendirme jetonu saklar ve projenin gizli yönetici deposu; bu jetonu değiştirmeyin veya silmeyin.

Ayrıca App Hosting, GitHub checks API ile entegre olarak çalışır ve böylece olup olmadığını kontrol edin. Bu kontrol, sunumunuzun durumunu şurada görüntülemenize olanak tanır: Herhangi bir hata olması durumunda, GitHub'a gidip dağıtım sürecinde hata ayıklama işlemi yapın.

Firebase ve diğer Google hizmetleriyle entegrasyon

App Hosting, hem derleme hem de çalışma zamanı ortamlarınızı ayarlar; böylece Google ile Firebase Admin SDK'yı başlatın Application Default Credentials. (Uygulama Varsayılan Kimlik Bilgileri) Bu şekilde, arka ucunuz geliştirme ve dağıtım sırasında diğer Firebase ürünleri kullanılır.

App Hosting arka uç hizmet hesabı

Derleme sırasında ve çalışma zamanında, App Hosting arka ucunuzun kimlik doğrulaması şu şekilde yapılır: hizmet hesabı olan diğer Google hizmetlerine erişebilir. Şunun için varsayılan hizmet hesabı: Bu amaçlar, bir tarayıcıda Uygulama Barındırma'yı ilk kez etkinleştirdiğinizde Firebase projesi:

firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com

Bu hizmet hesabı, varsayılan olarak tüm arka uçlar için geçerlidir ve uygulamanızı derlemenizi, çalıştırmanızı ve izlemenizi sağlayan izinler Ayrıca için izin ver Yönetici SDK'sının kimliğini Uygulama Varsayılan Kimlik Bilgileri ile doğrulama, Cloud Firestore'dan veri yükleme gibi işlemler gerçekleştirir. Görüntüleyin Firebase App Hosting rolleri.

Uygulamanızın derleme sırasında ek Google hizmetleriyle etkileşimde bulunması gerekiyorsa veya çalışan bir arka uçtan ihtiyacınız olduğunda, varsayılan hizmet hesabını rol ekleme. Örneğin, uygulamanız Vertex AI için izinlere ihtiyaç duyuyorsa farklı bir dosya için roles/aiplatform.user ya da benzer bir pozisyonla ilgili olarak düşünebilirsiniz.

Anahtar terimler ve tanımlar

  • Arka Uç: Uygulama Barındırma'nın sağladığı yönetilen kaynakların koleksiyonu web uygulamanızı derleyip çalıştırmak için tasarımdan yararlanın.
  • Kullanıma sunma: Canlı uygulamanızın git kaydına bağlı belirli bir sürümü.
  • Live Bran: GitHub deponuzun şuna dağıtılan dalı: canlı URL'niz. Çoğunlukla, farklı özelliklerin bulunduğu dallarla geliştirme dalları birleştirilir.

Bilinen sorunlar ve sınırlamalar

Uygulama Barındırma önizlemesinin bilinen bazı sınırlamaları vardır:

  • Resim optimizasyonu henüz kullanılamıyor.
  • Bazı durumlarda Uygulama Barındırma arka ucu Uygulamanızın URL'sinde Intermittent connection error mesaj. Bir düzeltme, sonraki bir sürümde kullanıma sunulacaktır.
  • Önbellek Kontrolü başlıkları, CDN önbelleklerini 60 saniyeyle sınırlamak için değiştirilir; gelecekte, App Hosting'in kendi önbelleğindeki önbelleği bu sınır kaldırılacaktır.
  • Set-Cookie başlıkları, App Hosting veri düzlemi. Sonraki bir sürümde bu sorunun çözümü kullanıma sunulacaktır.
  • Önbelleğe alınmamış statik dosyalar Cloud Run'dan sunulur; sonraki sürümlerde depolanır ve Uygulama Barındırma kaynağından sunulur kullanabilirsiniz.
  • Uygulama Barındırma SKU'ları Firebase konsolu. Bunlar sonraki bir sürümde kullanıma sunulacaktır.
  • Firebase konsolu aralıklı olarak "derleme bulunamadı ve geçersiz" arka uç oluşturulurken hata meydana geldi.
  • Şu anda aynı projedeki tüm arka uçlar bir GitHub kuruluşunu/hesabını paylaşmaktadır. Bu kuruluş/hesap altındaki farklı depolara bağlanabilirler. Farklı GitHub hesaplarına bağlı arka uçlar oluşturmak için bunları ayrı projelere koymanız gerekir.
  • Şu anda yalnızca us-central1 bölgesi desteklenmektedir.