App Hosting, uygulamanızın dağıtımını basitleştirmek için karmaşık bir dizi arka plan görevini işler. Bu sayfada, görev akışının temel kısımları açıklanmakta ve uygulamanızın ihtiyaçlarına bağlı olarak akışı özelleştirmek isteyebileceğiniz noktalar hakkında bilgi verilmektedir.
Önemli terimler ve tanımlar
App Hosting akışının ayrıntılarını anlamak için bazı terminolojileri çok net bir şekilde tanımlamak faydalı olur. Temel anahtar terimler şunlardır:
- Arka uç: Web uygulamanızı oluşturmak ve çalıştırmak için App Hosting tarafından oluşturulan yönetilen kaynaklar koleksiyonu.
- Derleme: Uygulamanızın belirli bir düzeltmesi. Genellikle bir Git commit'iyle bağlantılıdır. Derleme oluşturma süreci, çok sayıda alt süreçten oluşur. Bunlardan en önemlileri, uygulamanızın Cloud Build içinde derlenmesi ve Cloud Run içinde bir düzeltmenin dağıtılmasıdır (başlangıçta dağıtılana kadar trafiğin% 0'ı sunulur).
- Kullanıma sunma: Bir derlemenin trafiğe etkin olarak hizmet verecek şekilde ayarlanması süreci. Bir Git commit'i tarafından otomatik olarak tetiklendiğinde App Hosting önce canlı dalınızı kullanarak bir derleme oluşturur, ardından canlı trafiği bu derlemeye yönlendirmek için bir dağıtım oluşturur.
- Canlı dal: GitHub deponuzun canlı URL'nize dağıtılan dalı. Genellikle, özellik dallarının veya geliştirme dallarının birleştirildiği daldır.
Google Cloud ve App Hosting mimarisi
App Hosting, web uygulamanızı dağıtıp sunabilmeniz ve izleyebilmeniz için bir dizi Google Cloud ürününü düzenler. Uygulamalar Cloud Build ile oluşturulur, Cloud Run üzerinde sunulur ve Cloud CDN'de önbelleğe alınır. Cloud Secret Manager gibi entegre hizmetler, API anahtarlarınızı güvende tutar.

- Bir commit, canlı dalınıza gönderildiğinde Google Cloud Developer Connect, Firebase App Hosting'ya bir etkinlik gönderir.
- Bu etkinliğe yanıt olarak Firebase App Hosting, depoya bağlı arka uç için yeni bir derleme oluşturur.
- İlk olarak, Firebase App Hosting, commit'iniz için yeni bir Cloud Build derlemesi oluşturur. Bu işte, Google Cloud buildpack'leri, uygulamanıza uygun bir kapsayıcı ve yapılandırma (ortam değişkenleri, sırlar, minimum veya maksimum örnekler, eşzamanlılık, bellek, CPU ve VPC yapılandırması dahil) oluşturmak için uygulamanızda hangi çerçevenin kullanıldığını belirler. Daha fazla bilgi için App Hosting derleme sürecine bakın.
- Cloud Build işi tamamlandığında kapsayıcınız, Firebase App Hosting için ayrılmış bir Artifact Registry deposunda saklanır. Firebase App Hosting, görüntünüzü ve yapılandırmanızı kullanarak Cloud Run hizmetine yeni bir Cloud Run düzeltmesi ekler.
- Cloud Run revizyonunuz tamamlanıp sağlıklı olduğu doğrulandıktan sonra Firebase App Hosting, trafik yapılandırmasını tüm yeni istekleri yeni Cloud Run revizyonunuza yönlendirecek şekilde değiştirir. Bu aşamada, kullanıma sunma süreci tamamlanır.
- Firebase App Hosting üzerinde barındırılan bir web sitesine istek gönderildiğinde, istek Cloud CDN etkin durumdayken Google Cloud Load Balancer tarafından sunulur. Önbelleğe alınmamış istekler Cloud Run hizmetinize gönderilir. Cloud CDN ile performansı optimize etme konusunda rehberlik için Uygulama içeriğini önbelleğe alma bölümüne bakın.
Çerçeve entegrasyonu
App Hosting, bu çerçevelerde geliştirilen web uygulamaları için önceden yapılandırılmış derleme ve dağıtım desteği sağlar:
- Next.js 13.5.x ve üzeri
- Angular 18.2.x ve üzeri
Belirli sürümler ve destek düzeyleri hakkında ayrıntılı bilgi için destek programlarına bakın.
Next.js ve Angular'a ek olarak App Hosting, çıktı paketi spesifikasyonumuza uygun bir derleme çıktısı sağlayabilen tüm web çerçevelerini de destekler. App Hosting tarafından desteklenen çerçeveler, çerçeve bağdaştırıcıları ve ilgili araçlar hakkında daha fazla bilgi için Frameworks and tooling for App Hosting (App Hosting için çerçeveler ve araçlar) başlıklı makaleyi inceleyin.
App Hosting depo entegrasyonunun işleyiş şekli
GitHub deponuz ile App Hosting arka ucu arasındaki önemli bağlantı, harici DevOps araçları için Google Cloud'un bağlantı platformu olan Developer Connect tarafından yönetilir. App Hosting arka ucu oluşturulurken Developer Connect'in kullanıcı arayüzü iş akışı, Firebase GitHub uygulamasının yüklenmesi konusunda size yol gösterir. Bu süreçteki temel adımlar şunlardır:
- Developer Connect'e Secret Manager Yönetici rolünü verirsiniz. Bu sayede sistem, kimlik bilgilerini Cloud Secret Manager'da "gizli anahtarlar" olarak güvenli bir şekilde saklayabilir.
- Firebase GitHub uygulamasının GitHub deponuza erişmesine izin verirsiniz. Doğru depoya erişmek için ek GitHub izinlerine ihtiyacınız olabilir.
- Developer Connect, projenizin Secret Manager deposunda özel bir GitHub yetkilendirme jetonu saklar. Bu jetonu değiştirmeyin veya silmeyin.
Ayrıca, App Hosting, dağıtımları kontrol etmek için GitHub Checks API ile entegre olur. Bu kontrol, GitHub'daki kullanıma sunma işleminizin durumunu görmenize ve hatalar olması durumunda dağıtım sürecinde hata ayıklamanıza olanak tanır.
Firebase ve diğer Google hizmetleriyle entegrasyon
App Hosting, hem derleme hem de çalışma zamanı ortamlarınızı ayarlayarak Google Uygulaması Varsayılan Kimlik Bilgileri ile Firebase Admin SDK'sını başlatmanızı sağlar. Bu sayede, arka uçunuz hem derleme hem de çalışma zamanında diğer Firebase ürünleriyle iletişim kurabilir. Uygulamanızı başlatma ve Firebase SDK ile ilgili diğer konular hakkında daha fazla bilgi için Firebase SDK'larını web uygulamanıza entegre etme başlıklı makaleyi inceleyin.
App Hosting yer
App Hosting, arka uç kaynaklarınızı birincil bölgeniz olarak adlandırılan belirli bir konumda oluşturur. App Hosting, hızlı yayın için küresel bir CDN ile entegre olsa da önbelleğe alınmamış içerik, uygulamanızın birincil bölgesinden yayınlanır. Web uygulamanızın konumundaki bu esneklik önemli avantajlar sunar:
- Verileri coğrafi olarak kullanıcılarınıza daha yakın hale getirerek performansı artırın ve gecikmeyi azaltın.
- Bir bölgedeki App Hosting için yaşanan büyük bir arıza, diğer bölgelerde dağıtılan web uygulamalarını etkilemez.
Konsoldan veya Firebase CLI'dan App Hosting arka ucu oluştururken bu bölgelerden herhangi birini seçebilirsiniz:
us-central1
(Iowa)asia-east1
(Tayvan)europe-west4
(Hollanda)
App Hosting arka uç hizmet hesabı
Derleme sırasında ve çalışma zamanında App Hosting arka ucunuz, hizmet hesabı kullanarak diğer Google hizmetleriyle kimlik doğrular. Bu amaçlar için varsayılan bir hizmet hesabı, Firebase projesinde App Hosting'ı ilk kez etkinleştirdiğinizde oluşturulur:
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ı oluşturmanıza, çalıştırmanıza ve izlemenize olanak tanıyan minimum izin kümesine sahiptir. Ayrıca, Cloud Firestore'dan veri yükleme gibi işlemleri gerçekleştirmek için Yönetici SDK'sını Uygulama Varsayılan Kimlik Bilgileri ile kimlik doğrulama iznine de sahiptir. Firebase App Hosting rolleri başlıklı makaleyi inceleyin.
Uygulamanızın derleme sırasında veya çalışan bir arka uçtan ek Google hizmetleriyle etkileşim kurması gerekiyorsa roller ekleyerek varsayılan hizmet hesabını özelleştirebilirsiniz. Örneğin, uygulamanızın Vertex AI için izinler gerektiriyorsa roles/aiplatform.user
veya ilgili bir rol eklemeniz gerekebilir.