Tek bir Firebase projesinde bir veya daha fazla Firebase Barındırma sitesi kurabilirsiniz. Sitelerin tümü aynı Firebase projesinde olduğundan, tüm siteler projenin diğer Firebase kaynaklarına erişebilir.
- Her sitenin kendi barındırma yapılandırması vardır.
- Her site kendi içerik koleksiyonunu barındırır.
- Her sitenin bir veya daha fazla ilişkili etki alanı olabilir.
Aynı Firebase projesi içinde birden çok Barındırma sitesi kurarak, Firebase kaynaklarını ilgili siteler ve uygulamalar arasında daha kolay paylaşabilirsiniz. Örneğin, blogunuzu, yönetici panelinizi ve genel uygulamanızı aynı Firebase projesinde ayrı siteler olarak ayarlarsanız, hepsi aynı Firebase Authentication kullanıcı veritabanını paylaşabilir ve aynı zamanda kendi benzersiz etki alanlarına veya içeriğe sahip olabilir.
1. Adım : Firebase CLI sürümünüzü güncelleyin
Firebase CLI'nin en son sürümüne güncelleyerek en güncel Firebase Barındırma özelliklerine erişin.
2. Adım : Ek siteler ekleyin
Aşağıdaki yöntemlerden birini kullanarak bir Firebase projesine ek siteler ekleyin:
Firebase konsolunun Barındırma sayfasındaki iş akışını kullanın
Firebase CLI komutunu kullanın:
firebase hosting:sites:create SITE_ID
Barındırma REST API'sini kullanın:
projects.sites.create
Bu yöntemlerin her biri için, site için SITE_ID
tarafından sağlanan varsayılan alt alan adlarını oluşturmak için kullanılan bir SITE_ID belirteceksiniz:
-
SITE_ID .web.app
-
SITE_ID .firebaseapp.com
Bu URL'ler için SITE_ID
kullanıldığından, site kimliğinin aşağıdaki gereksinimleri vardır:
- Geçerli bir ana bilgisayar adı etiketi olmalıdır, yani içeremez
.
,_
, vb. - 30 karakter veya daha az olmalıdır
- Firebase içinde küresel olarak benzersiz olmalıdır
Her siteye, aynı içeriği ve yapılandırmayı birden çok URL'ye sunmak için isteğe bağlı olarak özel etki alanları da ekleyebilirsiniz .
İkincil bir siteyi silin
Aşağıdaki yöntemlerden birini kullanarak istenmeyen siteleri bir Firebase projesinden silin:
Firebase konsolunun Barındırma sayfasındaki iş akışını kullanın
Firebase CLI komutunu kullanın:
firebase hosting:sites:delete SITE_ID
Barındırma REST API'sini kullanın:
projects.sites.delete
Firebase proje kimliğiniz ile aynı SITE_ID
sahip olan varsayılan siteyi silemeyeceğinizi unutmayın.
3. Adım : Siteleriniz için dağıtım hedefleri ayarlayın
Birden çok siteniz olduğunda ve Firebase CLI dağıtım komutlarını çalıştırdığınızda, CLI'nin her siteye hangi ayarların dağıtılması gerektiğini iletmek için bir yola ihtiyacı vardır. Dağıtım hedefleriyle , sitelerinize test etmek veya dağıtmak için firebase.json
yapılandırma dosyanızda ve Firebase CLI komutlarınızda bir TARGET_NAME
ile belirli bir siteyi benzersiz bir şekilde tanımlayabilirsiniz.
Bir dağıtım hedefi oluşturmak ve bir Barındırma sitesine bir TARGET_NAME
uygulamak için proje dizininizin kökünden aşağıdaki CLI komutunu çalıştırın:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
Parametreler nerede:
TARGET_NAME — dağıtımını yaptığınız Barındırma sitesi için benzersiz bir ad (kendiniz tanımladığınız).
RESOURCE_IDENTIFIER —
SITE_ID
projenizde listelendiği şekliyle Barındırma sitesi için SITE_ID
Ö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-blogtutucu2 l10n-yer
firebase target:apply hosting app myapp-app
Dağıtım hedeflerine ilişkin ayarlar proje dizininizdeki .firebaserc
dosyasında depolanır, bu nedenle proje başına yalnızca bir kez konuşlandırma hedefleri ayarlamanız gerekir.
Adım 4 : Her site için barındırma yapılandırmasını tanımlayın
firebase.json
dosyanızda barındırma yapılandırmasını tanımlarken bir sitenin uygulanan TARGET_NAME
özelliğini kullanın.
firebase.json
dosyanız birden çok site için yapılandırmayı tanımlıyorsa, bir dizi biçimi kullanın:{ "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 } ] }
firebase.json
dosyanız yalnızca bir site için yapılandırmayı tanımlıyorsa, dizi biçimi kullanmak gerekli değildir:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
Adım 5 : Yerel olarak test edin, değişiklikleri önizleyin ve sitelerinize dağıtın
Yerel proje dizininizin kökünden aşağıdaki komutlardan herhangi birini çalıştırın.
Emretmek | Açıklama |
---|---|
firebase emulators:start --only hosting | Yerel olarak barındırılan bir URL'de varsayılan Barındırma sitesinin Barındırma içeriğine ve yapılandırmasına öykünür |
firebase emulators:start --only hosting: TARGET_NAME | Yerel olarak barındırılan bir URL'de belirtilen Barındırma sitesinin Barındırma içeriğine ve yapılandırmasına öykünür |
firebase hosting:channel:deploy \ | Varsayılan Barındırma sitesinin Barındırma içeriğini ve yapılandırmasını bir önizleme URL'sinde dağıtır |
firebase hosting:channel:deploy \ | Belirtilen Barındırma sitesinin Barındırma içeriğini ve yapılandırmasını bir önizleme URL'sinde dağıtır |
firebase deploy --only hosting | firebase.json yapılandırılmış tüm Barındırma sitelerinin canlı kanalına Barındırma içeriğini ve yapılandırmasını dağıtır |
firebase deploy --only hosting: TARGET_NAME | Barındırma içeriğini ve yapılandırmasını belirtilen Barındırma sitesinin canlı kanalına dağıtır |
Emretmek | Açıklama |
---|---|
(önerilmez; emulators:start )firebase serve --only hosting | Yerel olarak barındırılan bir URL'de varsayılan Barındırma sitesinin Barındırma içeriğini ve yapılandırmasını sunar |
(önerilmez; emulators:start )firebase serve --only hosting: TARGET_NAME | Yerel olarak barındırılan bir URL'de belirtilen Barındırma sitesinin Barındırma içeriğini ve yapılandırmasını sunar |