Dağıtım hedefleri, benzersiz statik öğelere sahip bir Hosting sitesi veya aynı güvenlik kurallarını paylaşan bir Realtime Database örneği grubu gibi Firebase projenizdeki Firebase kaynakları için sizin tanımladığınız (kendi tanımladığınız) kısa tanımlayıcılardır.
Dağıtım hedefleri; birden fazla Barındırma siteniz, birden fazla Cloud Storage paketiniz veya birden fazla Realtime Database örneğiniz olduğunda kullanışlıdır. Firebase CLI, dağıtım hedefleriyle 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 Cloud Storage paketi tarafından paylaşılan güvenlik kuralları
Dağıtım hedefi ayarlamak için:
- Hedeflenen Firebase kaynağına veya Firebase kaynakları grubuna bir
TARGET_NAME
uygulayın. - Her bir kaynak veya kaynak grubunun ayarlarını yapılandırırken
firebase.json
dosyanızda ilişkiliTARGET_NAME
öğesine bakın.
Firebase CLI komutlarını (ör. firebase deploy
) çalıştırdığınızda Firebase CLI, her bir TARGET_NAME
öğesini ilişkili Firebase kaynaklarıyla eşleştirir. Daha sonra CLI, her bir kaynağın ayarlarını Firebase projenize iletir.
Firebase kaynaklarınız için dağıtım hedefleri oluşturma
Firebase CLI'yı kullanarak bir Firebase kaynağına veya Firebase kaynakları grubuna TARGET_NAME
(kendi 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 siteleri
- Firebase için Cloud Storage depolama alanı grupları
- Firebase Realtime Database örnekleri
Dağıtım hedeflerinin ayarları, proje dizininizdeki .firebaserc
dosyasında depolanır. Bu nedenle, dağıtım hedeflerini proje başına bir kez ayarlamanız yeterlidir.
Hosting için dağıtım hedeflerini ayarlama
Dağıtım hedefi oluşturmak ve bir Hosting sitesine TARGET_NAME
uygulamak için aşağıdaki CLI komutunu çalıştırın:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Parametreler burada:
TYPE - ilgili Firebase kaynak türü
- Firebase Barındırma siteleri için
hosting
değerini kullanın.
- Firebase Barındırma siteleri için
TARGET_NAME: Dağıtım yaptığınız Hosting sitesinin benzersiz adıdır
RESOURCE_IDENTIFIER — Firebase projenizde listelendiği şekliyle Hosting sitesi için
SITE_ID
Örneğin, Firebase projenizde iki site oluşturduysanız (myapp-blog
ve myapp-app
) 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
Cloud Storage veya Realtime Database kaynağı grubuna uygulamak için aşağıdaki CLI komutunu çalıştırın:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Parametreler burada:
TYPE - ilgili Firebase kaynak türü
- Cloud Storage paketleri için
storage
politikasını 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 addır
RESOURCE_IDENTIFIER: Hepsi aynı güvenlik kurallarını paylaşan Firebase projenizde listelendiği şekilde kaynakların (depolama paketi adları veya veritabanı örneği kimlikleri gibi) tanımlayıcılarıdır
Örneğin, aşağıdaki komutu çalıştırarak main
öğesinin TARGET_NAME
değerini (tümü aynı güvenlik kurallarını paylaşan) üç bölgesel Cloud Storage paketinden oluşan bir gruba uygulayabilirsiniz:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
myproject.appspot.com
değerinin varsayılan paketin tanımlayıcısı olduğunu, myproject-eu
ve myproject-ja
ise Firebase projesinde oluşturulan iki ek paket olduğunu unutmayın.
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, firebase.json
yapılandırma dosyanıza uygulanan her bir TARGET_NAME
değerine referans verin:
- Her Firebase kaynağı
TYPE
(hosting
,storage
veyadatabase
) için bir yapılandırma nesneleri dizisi oluşturun. - Dizilerde,
target
değerini belirtin (TARGET_NAME
kullanarak) ve ilişkili Firebase kaynağı veya kaynak grubu için ayarlarınızı tanımlayın.
Yukarıdaki örneklerden devam edersek Firebase projenizde iki barındırma sitesi ve aynı güvenlik kurallarını paylaşan üç Cloud Storage paketi bulunur. 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. Proje dizininizin kök dizininden aşağıdaki komutların herhangi birini çalıştırarak projenizin dağıtım hedeflerini yönetebilirsiniz.
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 \
|
Tüm kaynakları veya Hosting sitesini belirtilen hedeften kaldırır |
target:remove
ve target:clear
komutları, proje dizininizdeki .firebaserc
dosyasında dağıtım hedefi ayarlarını otomatik olarak günceller.
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
|
Proje dizininizdeki yapılandırılmış tüm kaynakları emüle eder |
firebase emulators:start \ |
Yalnızca belirtilen Hosting sitesinin Hosting içeriği ve yapılandırmasını emüle eder |
firebase emulators:start \
|
Yalnızca belirtilen Cloud Storage hedefi için kural dosyasını emüle eder |
firebase emulators:start \
|
Yalnızca belirtilen Realtime Database hedefi için kural dosyasını emüle eder |
Firebase Local Emulator Suite'i yapılandırma ve kullanma hakkında daha fazla bilgi edinin.
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
|
Proje dizininizdeki tüm dağıtılabilir kaynakların sürümünü oluşturur |
firebase deploy \
|
Yalnızca belirtilen Hosting sitesinin barındırma içeriğini ve yapılandırmasını sitenin canlı kanalına dağıtır |
firebase hosting:channel:deploy CHANNEL_ID \ |
Yalnızca belirtilen Hosting sitesinin barındırma 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 |