Firebase App Hosting, uygulama kaynak kodunuzu Cloud Run'de dağıtıma uygun bir kapsayıcı biçimine dönüştürmek için Cloud Build'den yararlanır.
Derleme süreci aşağıdaki temel aşamalardan geçer:
Aktar: Uygulamanızın kaynak kodunu ve yapılandırmasını toplar.
Derle: Bağımlılıkları yükler ve uygulamanızı derleyin.
Devre alma: Üretim Cloud Run kapsayıcısını tamamlar.
Bu üç adım, Google Cloud Console'daki Cloud Build bölümünde gösterilen 1, 2 ve 3 numaralı derleme adımlarına doğrudan karşılık gelir:
Besleme 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 gizli anahtarların referansını kaldırır ve bunları sabitler.
Derleme aşaması
Bu, derleme sürecinin çekirdeğidir. Çalıştırılabilen bir kapsayıcı resmi 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, uygulamanızın kaynak kodunu üretime hazır kapsayıcı görüntülerine dönüştürmekten sorumludur. Firebase App Hosting, derleme işlemini tamamlamak için birkaç derleme paketini birbirine bağlar:
- Çalışma zamanı Buildpack'i: Temel bir Node.js uygulamasının çalıştırılması için gerekli tüm bileşenlerin dahil edildiğinden ve bağımlılıkların yüklendiğinden emin olur.
- Monorepo Buildpack: Sonraki buildpack'leri farklı monorepo senaryolarını ele alacak şekilde yapılandırır.
Çerçeve Derleme Paketi: Doğru çerçeve bağdaştırıcısı (Angular veya Next.js gibi) yükler ve sonraki derleme paketlerini hazırlar.
Çerçeve bağdaştırıcılar, üretime yönelik derleme komutunu çalıştırmaktan ve çerçeveye özgü tüm ilgili yapılandırma değerlerini App Hosting tarafından okunabilen standart bir biçimle eşlemekten sorumludur.
Paket Yöneticisi Buildpack: Bağımlılıkların yüklenmesini yürütür ve npm, yarn veya pnpm kullanarak uygulamayı oluşturur.
Çıkış Paketi Buildpack'i: Çalıştırma komutunu tanımlar ve çıkış paketini yürütmeye hazırlar.
Devre alma aşaması
Bu son aşamada, uygulama kaynak kodundan ayıklanan tüm bilgiler ve derleme kapsayıcı görüntüsü paketlenir ve App Hosting arka ucuna gönderilir. Ardından App Hosting arka uç, Cloud Run'u doğru yapılandırmalarla ayarlamak için bu bilgileri kullanır.
Daha fazla bilgi
App Hosting derleme sürecinin tamamı açık kaynaktır.
- Buildpack kodu Google Cloud buildpack'leri deposunda bulunur.
- Çerçeve adaptörlerinin kodu firebase-framework-tools deposunda bulunur.
- Cloud Native buildpack'ler ve Cloud Build hakkında daha fazla bilgi edinin.