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:
ubuntu: Workspace başlatma.
preparer: Uygulama kaynak kodunuzu ve yapılandırmanızı toplar.
pre-buildpack: Buildpack ortamını hazırlar.
build: Bağımlılıkları yükler ve uygulamanızı oluşturur.
publisher: Üretim Cloud Run kapsayıcısını tamamlar.
Bu beş adım, Google Cloud Console'daki Cloud Build bölümünde gösterilen derleme adımlarıyla doğrudan ilişkilidir:

Workspace'i başlatma
Bu aşama, ubuntu derleme adımına karşılık gelir. Bu komut, derleme çalışma alanını başlatır ve sonraki derleme adımlarında kullanılan dizinler için doğru dosya izinlerinin ayarlanmasını sağlar.
Hazırlayan
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.
Pre-buildpack
Bu adım, Cloud Native Buildpacks yaşam döngüsü için ortamı hazırlar. Bu işlem, önceki aşamada hazırlanan yapılandırmaları ve ortam değişkenlerini CNB araçlarının beklediği biçime çeviren bir ara katman çalıştırmayı içerir.
Derleme
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 ve lifecycle creator ikili dosyasını kullanır. bundle.yaml dosyası hakkında daha fazla bilgiyi github'da bulabilirsiniz.
Buildpack'ler, uygulama kaynak kodunuzu üretime hazır kapsayıcı görüntülerine dönüştürmekten sorumludur. Firebase App Hosting, derleme sürecini tamamlamak için birden fazla derleme paketini 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 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.
Output Bundle Buildpack: Çalıştırma komutunu tanımlar ve çıkış paketini yürütmeye hazırlar.
Yayıncı
Bu son aşamada, uygulama kaynak kodundan çıkarılan tüm bilgiler ve derleme kapsayıcı görüntüsü paketlenir ve arka uca gönderilir.App Hosting App Hosting arka ucu daha sonra bu bilgileri kullanarak Cloud Run'i uygun yapılandırmalarla ayarlar.
Daha fazla bilgi
App Hosting derleme sürecinin tamamı 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.