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:
- Kaynak kodunuzu ve çerçeveye özgü yapılandırma dosyalarını (örneğin,
next.config.js
) anladığınızdan emin olun. - 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:
- 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.
- Firebase GitHub uygulamasına GitHub'ınıza erişme yetkisi verirsiniz" depo.
- 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. - Next.js ara katman yazılımı, yeniden yazma işlemleri ve yönlendirmeler Cloud Run, CDN'nin arkasında. Bunlar önbelleğe alınan verileri korumayacağı için daha fazla bilgi için uygun kontrol yönergelerini Google Trendler'i kullanabilirsiniz.