App Hosting, uygulamanızın dağıtımını basitleştirmek için karmaşık bir dizi arka plan görevini yönetir. 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ç: App Hosting tarafından web uygulamanızı oluşturmak ve çalıştırmak için oluşturulan yönetilen kaynaklar topluluğu.
- 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 (ilk baş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, bir dizi Google Cloud ürününü düzenleyerek web uygulamanızı dağıtmanıza, sunmanıza ve izlemenize olanak tanır. 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ın güvenliğini sağlar.
- 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ızda hangi çerçevenin kullanıldığını belirleyerek 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şturur. Daha fazla bilgi için App Hosting derleme işlemine 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 düzeltmeniz 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 düzeltmenize yönlendirecek şekilde değiştirir. Bu aşamada, kullanıma sunma süreci tamamlanmış olur.
- Firebase App Hosting üzerinde barındırılan bir web sitesine istek gönderildiğinde istek, Cloud CDN'nin etkin olduğu Google Cloud Load Balancer tarafından karşılanır. Önbelleğe alınmamış istekler Cloud Run hizmetinize gönderilir. Cloud CDN ile performansı optimize etme hakkında bilgi edinmek için Uygulama içeriğini önbelleğe alma başlıklı makaleyi inceleyin.
Ç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, çıkış 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 başlıklı makaleyi inceleyin.
App Hosting depo entegrasyonunun işleyiş şekli
GitHub deponuz ile App Hosting arka uç arasındaki önemli bağlantı, Google Cloud'un harici DevOps araçlarına yönelik bağlantı platformu olan Developer Connect tarafından yönetilir. Bu bağlantıyı ayarladığınızda (genellikle bir App Hosting arka ucunun oluşturulması sırasında) 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öneticisi rolünü verirsiniz. Bu, sistemin kimlik bilgilerini Cloud Secret Manager'da "gizli anahtarlar" olarak güvenli bir şekilde depolamasını sağlar.
- 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ımlarla ilgili kontrol sağlamak için GitHub Checks API ile entegre olur. Bu kontrol, GitHub'daki kullanıma sunma işleminizin durumunu görüntülemenize ve hatalar olması durumunda dağıtım sürecinde hata ayıklama yapmanı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ıza olanak tanır. 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ı teslimat için küresel bir CDN ile entegre olsa da önbelleğe alınmamış içerikler uygulamanızın birincil bölgesinden sunulur. 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.
App Hosting konsolundan veya Firebase CLI'dan Firebase arka ucu oluştururken bu bölgelerden herhangi birini seçebilirsiniz:
us-central1(Iowa)us-east4(N. Virginia)us-east5(Columbus)asia-east1(Tayvan)asia-southeast1(Singapur)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ın Uygulama Varsayılan Kimlik Bilgileri ile kimliğini doğrulama iznine de sahiptir. Firebase App Hosting rolleri başlıklı makaleyi inceleyin.
Uygulamanızın derleme zamanında veya çalışan bir arka uçtan ek Google hizmetleriyle etkileşimde bulunması gerekiyorsa roller ekleyerek varsayılan hizmet hesabını özelleştirebilirsiniz. Örneğin, uygulamanız Vertex AI için izin gerektiriyorsa roles/aiplatform.user veya ilgili bir rol eklemeniz gerekebilir.