Firebase App Hosting, uygulama kaynak kodunuzu Cloud Run'da dağıtıma uygun kapsayıcılı bir biçime dönüştürmek için Cloud Build'den yararlanır.
Derleme süreci aşağıdaki temel aşamalardan oluşur:
Alma: Uygulama kaynak kodunuzu ve yapılandırmanızı toplar.
Build: Bağımlılıkları yükler ve uygulamanızı oluşturur.
Devretme: Cloud Run üretim container'ını tamamlar.
Bu üç adım, Google Cloud Console'da Cloud Build bölümünde gösterilen 1, 2 ve 3 numaralı derleme adımlarına doğrudan karşılık gelir:
Alma aşaması
Bu aşama, derleme öncesi mantığı işlemekten sorumludur. Kullanıcı tanımlı ortam değişkenlerini okur, temizler ve yazar. Ayrıca, apphosting.yaml
dosyasında belirtilen tüm sırların referansını kaldırır ve bunları sabitler.
Derleme aşaması
Bu, derleme sürecinin temelini oluşturur. Çalıştırılabilir bir kapsayıcı görüntüsü ve derleme yapılandırmanızı tanımlayan bir bundle.yaml
dosyası oluşturmaktan sorumludur.
Uygulamayı verimli bir şekilde paketlemek için Cloud Native Buildpacks'i kullanır. bundle.yaml
dosyası hakkında daha fazla bilgiyi github'da bulabilirsiniz.
Buildpack'ler, uygulama kaynak kodunuzu üretime hazır container görüntülerine dönüştürmekten sorumludur. Firebase App Hosting, derleme sürecini tamamlamak için çeşitli derleme paketlerini birbirine bağlar:
- Runtime Buildpack: Temel bir Node.js uygulamasını çalıştırmak için gereken tüm bileşenlerin dahil edilmesini ve bağımlılıkların yüklenmesini sağlar.
- Monorepo Buildpack: Sonraki buildpack'leri farklı monorepo senaryolarını işleyecek şekilde yapılandırır.
Framework Buildpack: Doğru framework bağdaştırıcısını (ör. Angular veya Next.js) yükler ve sonraki buildpack'leri hazırlar.
Çerçeve bağdaştırıcıları, üretime hazır hale getirilmiş derleme komutunu çalıştırmaktan ve ilgili çerçeveye özgü yapılandırma değerlerini App Hosting tarafından okunabilen standart bir biçime eşlemekten sorumludur.
Package Manager Buildpack: Bağımlılıkların yüklenmesini yürütür ve uygulamayı npm, yarn veya pnpm kullanarak oluşturur.
Çıkış Paketi Oluşturma Paketi: Çalıştırma komutunu tanımlar ve çıkış paketini yürütmeye hazırlar.
Handoff aşaması
Bu son aşamada, uygulama kaynak kodundan çıkarılan tüm bilgiler ve derleme kapsayıcı görüntüsü paketlenir ve App Hosting arka uca gönderilir. App Hosting arka ucu daha sonra bu bilgileri kullanarak Cloud Run'i uygun yapılandırmalarla ayarlar.
Daha fazla bilgi
Tüm App Hosting derleme süreci açık kaynaktır.
- Buildpack kodu, Google Cloud buildpack'leri deposundadır.
- Çerçeve adaptörleriyle ilgili kodlar firebase-framework-tools deposunda yer alır.
- Cloud Native buildpack'ler ve Cloud Build hakkında daha fazla bilgi edinin.