Yayınlama hedefleri, Firebase projenizdeki Firebase kaynakları için kısa ad tanımlayıcılarıdır (kendinizin tanımladığı). Örneğin, benzersiz statik öğelere sahip bir Hosting sitesi veya aynı güvenlik kurallarını paylaşan bir Realtime Database örneği grubu.
Birden fazla Hosting siteniz, birden fazla Cloud Storage paketiniz veya birden fazla Realtime Database örneğiniz varsa dağıtım hedefleri kullanışlıdır. Firebase CLI, dağıtım hedefleri sayesinde ayarları projenizdeki belirli bir Firebase kaynağına veya kaynak grubuna dağıtabilir. Örneğin:
- Hosting sitelerinizin her biri için barındırma yapılandırması
- Hosting sitelerinizin her biri için proje dizininizdeki statik öğeler
- Birden fazla Realtime Database örneği veya birden fazla Cloud Storage paketi tarafından paylaşılan güvenlik kuralları
Dağıtım hedefi oluşturmak için:
- Hedeflenen Firebase kaynağına veya Firebase kaynağı grubuna
TARGET_NAME
uygulayın. firebase.json
dosyanızda, her bir kaynak veya kaynak grubu için ayarları yapılandırırken ilgiliTARGET_NAME
dosyasına referans verin.
Firebase CLI komutlarını (firebase deploy
gibi) çalıştırdığınızda Firebase CLI, her TARGET_NAME
'i ilişkili Firebase kaynaklarıyla eşler. Ardından CLI, her kaynağın ayarlarını Firebase projenize iletir.
Firebase kaynaklarınız için dağıtım hedefleri ayarlama
Firebase CLI'yi kullanarak bir Firebase kaynağına veya Firebase kaynağı grubuna TARGET_NAME
(kendinizi tanımladığınız kısa ad tanımlayıcısı) uygulayın.
Firebase aşağıdakiler için dağıtım hedeflerini destekler:
- Firebase Hosting sitesi
- Cloud Storage for Firebase depolama alanı paketi
- Firebase Realtime Database örneği
Yayınlama hedefleriyle ilgili ayarlar, proje dizininizdeki .firebaserc
dosyasında depolanır. Bu nedenle, proje başına yalnızca bir kez yayınlama hedefleri oluşturmanız gerekir.
Hosting için dağıtım hedefleri ayarlama
Bir dağıtım hedefi oluşturmak ve TARGET_NAME
sitelerine Hosting uygulamak için aşağıdaki CLI komutunu çalıştırın:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Parametreler şu şekildedir:
TYPE: İlgili Firebase kaynak türü
- Firebase Hosting siteleri için
hosting
değerini kullanın.
- Firebase Hosting siteleri için
TARGET_NAME: Dağıttığınız Hosting sitesi için benzersiz bir ad
RESOURCE_IDENTIFIER: Hosting sitesi için
SITE_ID
(Firebase projenizde listelendiği şekilde)
Örneğin, Firebase projenizde iki site (myapp-blog
ve myapp-app
) oluşturduysanız aşağıdaki komutları çalıştırarak her siteye benzersiz bir TARGET_NAME
(sırasıyla blog
ve app
) uygulayabilirsiniz:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Cloud Storage veya Realtime Database için dağıtım hedefleri ayarlama
Dağıtım hedefi oluşturmak ve bir TARGET_NAME
veya Realtime Database kaynağı grubuna TARGET_NAME
uygulamak için aşağıdaki CLI komutunu çalıştırın:Cloud Storage
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Parametreler şu şekildedir:
TYPE: İlgili Firebase kaynak türü
- Cloud Storage paketleri için
storage
kullanın. - Realtime Database örnekleri için
database
değerini kullanın.
- Cloud Storage paketleri için
TARGET_NAME: Güvenlik kurallarını paylaşan kaynak veya kaynak grubu için benzersiz bir ad
RESOURCE_IDENTIFIER: Firebase projenizde listelenen ve aynı güvenlik kurallarını paylaşan kaynakların (ör. depolama alanı grubu adları veya veritabanı örneği kimlikleri) tanımlayıcıları
Örneğin, aşağıdaki komutu çalıştırarak main
için TARGET_NAME
'ü üç bölgesel Cloud Storage paketi grubuna (tümü aynı güvenlik kurallarını paylaşan) uygulayabilirsiniz:
firebase target:apply storage main myproject.firebasestorage.app myproject-eu myproject-ja
myproject.firebasestorage.app
'ün varsayılan paketin tanımlayıcısı, myproject-eu
ve myproject-ja
'nin ise Firebase projesinde oluşturulan iki ek paket olduğunu unutmayın.
firebase.json dosyanızı dağıtım hedeflerini kullanacak şekilde yapılandırma
Firebase kaynaklarınız için dağıtım hedeflerini ayarladıktan sonra, uygulanan her TARGET_NAME
için firebase.json
yapılandırma dosyanızda referans verin:
- Her Firebase kaynağı
TYPE
(hosting
,storage
veyadatabase
) için bir yapılandırma nesnesi dizisi oluşturun. - Dizilerde
target
'ü belirtin (TARGET_NAME
kullanarak) ve ilişkili Firebase kaynağı veya kaynak grubu için ayarlarınızı tanımlayın.
Yukarıdaki örneklere devam edersek Firebase projenizin iki Hosting sitesi ve üç Cloud Storage paketi (aynı güvenlik kurallarını paylaşan) varsa firebase.json
dosyanız şöyle görünür:
{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] } { "storage": [ { "target": "main", // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets "rules": "storage.main.rules" // the file that contains the shared security rules } ] }
Kaynaklarınız için birden fazla yapılandırmanız varsa birden fazla dağıtım hedefi oluşturabilir ve her birini firebase.json
dosyasında belirtebilirsiniz. firebase deploy
'ü çalıştırdığınızda ilişkili tüm kaynaklar birlikte dağıtılır.
Dağıtım hedeflerini yönetme
Dağıtım hedeflerinin ayarları, proje dizininizdeki .firebaserc
dosyasında depolanır. Projenizin kök dizininden aşağıdaki komutlardan herhangi birini çalıştırarak projenizin dağıtım hedeflerini yönetebilirsiniz.
Komut | Açıklama |
---|---|
firebase target
|
Mevcut proje dizininiz için dağıtım hedeflerini listeler |
firebase target:remove \
|
Bir kaynağı, atandığı hedeften kaldırır |
firebase target:clear \
|
Belirtilen hedeften tüm kaynakları veya Hosting sitesini kaldırır |
target:remove
ve target:clear
komutları, proje dizininizdeki .firebaserc
dosyasında dağıtım hedef ayarlarını otomatik olarak günceller.
Dağıtmadan önce yerel olarak test etme
Aşağıdaki komutlardan herhangi birini proje dizininizin kökünden çalıştırın.
Komut | Açıklama |
---|---|
firebase emulators:start
|
Proje dizininizde yapılandırılmış tüm kaynakları taklit eder |
firebase emulators:start \ |
Yalnızca belirtilen Hosting sitesinin Hosting içeriğini ve yapılandırmasını taklit eder |
firebase emulators:start \
|
Yalnızca belirtilen Cloud Storage hedefinin kural dosyasını taklit eder |
firebase emulators:start \
|
Yalnızca belirtilen Realtime Database hedefi için kurallar dosyasını taklit eder |
Firebase Local Emulator Suite'i yapılandırma ve kullanma hakkında daha fazla bilgi edinin.
Belirli Firebase kaynaklarını dağıtma
Aşağıdaki komutlardan herhangi birini proje dizininizin kökünden çalıştırın.
Komut | Açıklama |
---|---|
firebase deploy
|
Proje dizininizdeki tüm dağıtılabilir kaynakların sürümünü oluşturur |
firebase deploy \
|
Yalnızca belirtilen Hosting sitesinin Hosting içeriğini ve yapılandırmasını sitenin canlı kanalına dağıtır |
firebase hosting:channel:deploy CHANNEL_ID \ |
Belirtilen Hosting sitesinin yalnızca Hosting içeriğini ve yapılandırmasını sitenin önizleme kanalına dağıtır |
firebase deploy \
|
Yalnızca belirtilen Cloud Storage hedefi için kural dosyasını dağıtır |
firebase deploy \
|
Yalnızca belirtilen Realtime Database hedefi için kural dosyasını dağıtır |