Aynı kod tabanından, her biri biraz farklı yapılandırmaya sahip birden fazla ortamın dağıtılması yaygın bir durumdur. Örneğin, hazırlık ortamınıza daha az CPU ve RAM atamak veya üretim ortamınızın en az 1 örneğin etkin ve istekleri hizmet vermeye hazır olduğundan emin olmak isteyebilirsiniz.
Ortamlar hakkında daha fazla bilgi edinmek için Ortamlara genel bakış ve Firebase projeleri oluşturmak için genel en iyi uygulamalar sayfalarına göz atın.
Ön koşullar
- Uygulama kodunuz zaten GitHub'da depolanıyor.
- Ortamlarınızın her biri için zaten ayrı bir proje oluşturdunuz (ör.
my-production-firebase-project
vemy-staging-firebase-project
).- İpucu: Üretim Firebase projenizi "üretim" ortam türüyle etiketlemeyi unutmayın.
0. Adım: Üretim git dalınızı ayarlayın
Üretim ortamınızı main
şubenizden dağıtmayı tercih ederseniz bir sonraki adıma geçin. Örneğin, şu gibi başka bir şubeden
üretim dağıtmak istiyorsanız: production
, önce GitHub'da oluşturmanız gerekir.
GitHub kullanıcı arayüzüyle üretim dalınızı oluşturmak için Kod deponuzda dal oluşturma ve silme bölümüne bakın.
Üretim dalınızı yerel olarak oluşturmak için:
$ git checkout -b production
$ git push origin production:production
1. Adım: Üretim apphosting.yaml dosyanızı yapılandırın
Üretiminizde her zaman en az 1 makinenin çalıştığından ve üretime özgü bazı ortam değişkenlerine sahip olduğundan emin olmak istediğinizi düşünelim. Projenizin kök düzeyinde aşağıdaki gibi bir apphosting.yaml
dosyası oluşturarak bunu yapılandırabilirsiniz:
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 1
env:
- variable: STORAGE_BUCKET
value: <production Cloud Storage bucket name>
Desteklenen ayarların tam listesini görmek için Uygulama Barındırmayı Yapılandırma bölümüne bakın.
apphosting.yaml
öğesini düzenledikten sonra GitHub deponuza aktarın:
$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin
2. Adım: Kod tabanınızı üretime dağıtın
Üretim git dalınız yapılandırıldıktan sonra yeni üretim Uygulama Barındırma arka ucunuzu oluşturabilirsiniz. Ayrıntılı talimatlar için Uygulama Barındırma'yı kullanmaya başlama bölümüne bakın.
Firebase Konsolu ile yeni bir arka uç oluşturmak için https://console.firebase.google.com/project/_/apphosting adresine gidin.
Yerel olarak oluşturmak için önce Firebase CLI'ı yüklemeniz ve ardından şunu çalıştırmanız gerekir:
firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>
Bu komut başarılı olduğunda üretim arka ucunuz çalışır durumda olmalıdır ve üretim dalınıza yapılan tüm yeni taahhütler App Hosting tarafından otomatik olarak derlenir ve dağıtılır.
3. Adım: Hazırlama git dalınızı ayarlayın
GitHub'da hazırlık dalınızı oluşturmak için yukarıdaki adımları uygulayın:
$ git checkout -b staging
$ git push origin staging:staging
4. Adım: Hazırlık apphosting.yaml dosyanızı yapılandırın
Hazırlık dalınızda zaten üretim apphosting.yaml dosyanızın bir kopyası bulunmalıdır. Bunu, App Hosting'in aktif olarak kullanılmadığında hazırlık ortamınızı kapatabileceği ve STORAGE_BUCKET
ortam değişkeni için farklı bir değer ayarlayabileceği şekilde değiştirelim.
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 0
env:
- variable: STORAGE_BUCKET
value: <some other staging Cloud Storage bucket name>
Düzenlemelerinizi bitirdikten sonra dosyayı hazırlık git dalınıza aktarın:
$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin
5. Adım: Kod tabanınızı hazırlık için dağıtın
Hazırlama git dalınız yapılandırıldıktan sonra kod tabanınızı hazırlık aşamasına dağıtmak için yukarıdaki adımları uygulayabilirsiniz:
firebase apphosting:backends:create --project <replace with your STAGING project ID>
Bu adımı tamamladıktan sonra her biri farklı bir Firebase projesinde olmak üzere, biri üretim ve diğeri hazırlık için olmak üzere aynı kod tabanı tarafından desteklenen iki App Hosting arka ucunuz olur.
Sonraki adımlar
- Daha ayrıntılı bilgi edinin: Barındırılan bir uygulamayı Firebase Authentication ve Google AI özellikleriyle entegre eden Firebase codelab'ini inceleyin: Next.js | Angular
- Özel bir alan bağlayın.
- Arka ucunuzu yapılandırın.
- Kullanıma sunma işlemlerini, site kullanımını ve günlükleri izleyin.