Dağıtım hedefleri, sizin tanımladığınız) kısa ad tanımlayıcılarıdır Firebase projenizdeki Firebase kaynakları (ör. benzersiz özelliklere sahip Hosting sitesi) statik öğeler veya aynı güvenliği paylaşan Realtime Database örnek grubu kurallar.
Dağıtım hedefleri şu durumlarda yararlıdır: birden çok Hosting sitesi varsa birden fazla Cloud Storage grubu veya birden fazla Realtime Database örneği. Firebase KSA, dağıtım hedefleriyle ayarları belirli bir Projenizdeki Firebase kaynağı veya kaynak grubu. Örneğin:
- Hosting sitelerinizin her biri için barındırma yapılandırması
- Her bir Hosting için proje dizininizdeki statik öğeler siteler
- Birden fazla Realtime Database örneği veya birden çok örnek tarafından paylaşılan güvenlik kuralları Cloud Storage paket
Dağıtım hedefi ayarlamak için:
- Hedeflenen Firebase'e bir
TARGET_NAME
uygulayın kaynak veya Firebase kaynağı grubu için geçerlidir. firebase.json
dosyanızda, ilişkilendirilmişTARGET_NAME
öğesine referans verin inceleyebilirsiniz.
Firebase CLI komutlarını (ör.
firebase deploy
), Firebase CLI her bir TARGET_NAME
değerini
daha fazla bilgi edinin. Ardından CLI, Firebase ile
proje ayarlarını yapılandırmaya çalışın.
Firebase kaynaklarınız için dağıtım hedefleri oluşturma
Firebase KSA'yı kullanarak bir TARGET_NAME
(
kendinizi) bir Firebase kaynağına veya Firebase kaynağı grubuna eklemeniz gerekir.
Firebase, aşağıdakiler için dağıtım hedeflerini destekler:
Dağıtım hedeflerine ilişkin ayarlar .firebaserc
dosyasında saklanır.
olduğundan, dağıtım hedeflerini her bir proje için yalnızca bir kez
belirler.
Hosting için dağıtım hedeflerini ayarlayın
Dağıtım hedefi oluşturmak ve bir Hosting sitesine TARGET_NAME
uygulamak için şu komutu çalıştırın:
şu CLI komutunu kullanın:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Parametreler burada:
TYPE - ilgili Firebase kaynak türü
- Firebase Hosting siteleri için
hosting
değerini kullanın.
- Firebase Hosting siteleri için
TARGET_NAME: İlgili Hosting sitesinin benzersiz adı dağıtılıyor
RESOURCE_IDENTIFIER — Hosting sitesi için
SITE_ID
(örneğin, Firebase projenizde listelenen
Örneğin, iki site oluşturduysanız
(myapp-blog
ve myapp-app
) varsa Firebase için
aşağıdaki değişiklikleri yaparak her bir site için benzersiz TARGET_NAME
(sırasıyla blog
ve app
)
şu komutları kullanın:
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 ayarlayın
Dağıtım hedefi oluşturmak ve bir kümeye TARGET_NAME
uygulamak için
Cloud Storage veya Realtime Database kaynakları, aşağıdaki KSA'yı çalıştırın
komut:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Parametreler burada:
TYPE - ilgili Firebase kaynak türü
- Cloud Storage paket için
storage
değerini kullanın. - Realtime Database örnekleri için
database
kullanın.
- Cloud Storage paket için
TARGET_NAME: Kaynak veya kaynak grubu için benzersiz bir ad aynı güvenlik kurallarını
RESOURCE_IDENTIFIER — kaynakların tanımlayıcıları Firebase projenizde listelenen (depolama paketi adları veya veritabanı gibi) aynı güvenlik kurallarını paylaşan
Örneğin, main
öğesinin TARGET_NAME
özelliğini üç kişilik bir gruba uygulayabilirsiniz
bölgesel Cloud Storage paketleri (tümü aynı güvenlik kurallarını paylaşan)
aşağıdaki komutu çalıştırarak erişebilirsiniz:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
myproject.appspot.com
öğesinin, varsayılan paketin tanımlayıcısı olduğunu unutmayın.
myproject-eu
ve myproject-ja
ise şurada oluşturulmuş iki ek pakettir:
Firebase projesiyle ilgili.
firebase.json dosyanızı dağıtım hedeflerini kullanacak şekilde yapılandırın
Firebase kaynaklarınız için dağıtım hedeflerini ayarladıktan sonra, her bir
TARGET_NAME
uygulandı
firebase.json
yapılandırma dosyası:
- Her Firebase kaynağı (
TYPE
) için bir yapılandırma nesneleri dizisi oluşturun (hosting
,storage
veyadatabase
). - Dizilerde
target
öğesini (TARGET_NAME
kullanarak) belirtin ve Firebase kaynağı veya kaynak grubu için ayarlarınız.
Yukarıdaki örneklerden devam ettiğimizde, Firebase projenizde iki
Hosting site ve üç Cloud Storage grubu (aynı ortakyı paylaşan)
güvenlik kuralları) kullanıyorsanız firebase.json
dosyanız şu şekilde 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ırma varsa birden fazla yapılandırma oluşturabilirsiniz.
hedefleri dağıtıp her birini firebase.json
dosyasında belirtin. Tümü ilişkilendirilmiş
firebase deploy
çalıştırdığınızda kaynaklar birlikte dağıtılacak.
Dağıtım hedeflerini yönetme
Dağıtım hedeflerine ilişkin ayarlar .firebaserc
dosyasında saklanır.
proje dizinini oluşturur. Projenizin dağıtım hedeflerini şuradan yönetebilirsiniz:
aşağıdaki komutları proje dizininizin kök dizininden kaldırın.
Komut | Açıklama |
---|---|
firebase target
|
Geçerli proje dizininiz için dağıtım hedeflerini listeler |
firebase target:remove \
|
Bir kaynağı atandığı hedeften kaldırır |
firebase target:clear \
|
Belirtilenden tüm kaynakları veya Hosting sitesini kaldırır hedef |
target:remove
ve target:clear
komutları, dağıtımı otomatik olarak günceller
hedef ayarları için proje dizininizdeki .firebaserc
dosyasında yer alır.
Dağıtmadan önce yerel olarak test edin
Proje dizininizin kök dizininden aşağıdaki komutları çalıştırın.
Komut | Açıklama |
---|---|
firebase emulators:start
|
Projenizdeki yapılandırılmış tüm kaynakların emülasyonunu yapar dizin |
firebase emulators:start \ |
Yalnızca Hosting içeriği ve belirtilen Hosting site |
firebase emulators:start \
|
Yalnızca belirtilen Cloud Storage için kural dosyasını emüle eder hedef |
firebase emulators:start \
|
Yalnızca belirtilen Realtime Database hedefi için kural dosyasını emüle eder |
Firebase Local Emulator Suite.
Belirli Firebase kaynaklarını dağıtın
Proje dizininizin kök dizininden aşağıdaki komutları çalıştırın.
Komut | Açıklama |
---|---|
firebase deploy
|
Projenizdeki tüm dağıtılabilir kaynakların sürümünü oluşturur dizin |
firebase deploy \
|
Yalnızca Hosting içeriğini ve sitenin canlı kanalına Hosting sitesini belirtti |
firebase hosting:channel:deploy CHANNEL_ID \ |
Yalnızca Hosting içeriğini ve Hosting sitesini bir kullanıcıya belirtti şunun için kanalı önizle: site |
firebase deploy \
|
Yalnızca belirtilen Cloud Storage için kural dosyasını dağıtır hedef |
firebase deploy \
|
Yalnızca belirtilen Realtime Database hedefi için kural dosyasını dağıtır |