Firebase Hosting, Hosting sitenizin kanallarını, sürümlerini ve versiyonlarını yönetmek için hem Firebase konsolu hem de Firebase KSA aracılığıyla araçlar sağlar.
Hosting altyapısına genel bakış
Hosting altyapısını anlamak, bu sayfada açıklanan yönetim seçeneklerini anlamanıza yardımcı olur.
Her Firebase projesinin, projenin tüm kaynaklarına (veritabanları, kimlik doğrulama, işlevler vb.) erişimi olan varsayılan bir Hosting sitesi vardır. Bir site bir veya daha fazla kanal içerir. Bu kanallardaki her kanal, belirli içeriği sunan bir URL ve Hosting yapılandırması ile ilişkilendirilir.
Firebase Hosting hiyerarşisi" />
Her Hosting sitesinde, içerik yayınlayan "canlı" bir kanal ve (1) sitenin Firebase tarafından sağlanan alt alan adlarında (SITE_ID.web.app
ve
SITE_ID.firebaseapp.com
) ve (2) bağlı özel alanlarda bir Hosting yapılandırması bulunur. İsterseniz geçici ve paylaşılabilir "önizleme URL'lerinde" (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app
Her kanalın yayınladığı içerik ve yapılandırma, benzersiz bir tanımlayıcıya sahip bir sürüm nesnesine paketlenir. Sitenize dağıttığınızda Firebase, belirli bir sürümü işaret eden bir sürüm nesnesi oluşturur. Sürüm, dağıtımla ilgili meta verileri (ör. dağıtımı yapan kullanıcı ve dağıtım zamanı) içerir.
Firebase projenizin Hosting kontrol panelinde, canlı kanalınızın yayınlamalarının tam geçmişini Yayın geçmişi tablosunda görebilirsiniz. Birden fazla Hosting siteniz varsa yayın geçmişini görmek için istediğiniz sitenin Göster'i tıklayın. Önizleme kanallarınız varsa bunlar Hosting kontrol panelinde de gösterilir.
Kanal ayarlarını yönetme
Sitenizdeki her kanalın ayarlarını kontrol edebilirsiniz. Kanal son geçerlilik tarihi gibi bazı ayarlar yalnızca önizleme kanalları için geçerlidir.
Saklanacak sürüm sayısını sınırlandırın
Bir kanala her dağıttığınızda (ve sürüm oluşturduğunuzda) Hosting, önceki sürümle ilişkili sürümü projenizin Hosting depolama alanında saklar. Projenizdeki her kanal için (hem canlı hem de önizleme kanalları) saklanacak yayın sayısını ayarlayabilirsiniz.
Hosting neden önceki sürümleri saklar?
Canlı kanalınızda önceki sürümleri koruyarak gerekirse sitenizin önceki bir sürümüne geri dönebilirsiniz. Önizleme kanallarınızda geri alma işlemi henüz kullanılamıyor.Saklanacak sürüm sayısını neden sınırlamalısınız?
Bu özellik, önceki sürümlerin içeriği bu depolama alanında saklandığından projenizin Hosting depolama alanının kullanım düzeyini kontrol etmenize yardımcı olabilir. Hosting depolama alanınızı, konsoldaki Depolama sekmesinden izleyebilirsiniz.Yayınlanacak yayınları sınırladığınızda ne olur?
Saklanacak sürümler için bir sınır belirlediğinizde, belirlediğiniz sınırın üzerindeki sürümlerin içeriği, en eski sürümlerden başlayarak silinecek şekilde planlanır.
Bir kanalın sürüm depolama alanı sınırını ayarlamak için:
Firebase konsolunda, sürüm depolama alanı ayarı iletişim kutusuna erişin:
Canlı kanalınız için
Sitenizin Yayın Geçmişi tablosunda simgesini tıklayın ve Yayın depolama alanı ayarları'nı seçin.Tüm önizleme kanalları için
Önizleme kanalının satırında simgesini tıklayın, ardından Kanal ayarları'nı seçin.
Saklamak istediğiniz sürüm sayısını girip Kaydet'i tıklayın.
Önizleme kanalının geçerlilik süresini ayarlama
Varsayılan olarak, önizleme kanalının süresi oluşturulduğu tarihten itibaren 7 gün sonra dolar. Ancak sitenizin yayındaki kanalının süresi hiçbir zaman dolmaz.
Bir önizleme kanalının geçerlilik süresi dolduğunda, kanalın yanı sıra sürümleri ve ilişkili versiyonları 24 saat içinde silinir. İlişkili önizleme URL'si de devre dışı bırakılır. Bir sürümün başka bir sürümle ilişkilendirilmesi, sürüm silme işleminin istisnası olarak kabul edilir (örneğin, aynı sitedeki bir sürümü bir kanaldan diğerine klonlarsanız bu durum gerçekleşir).
Hosting, kanalın geçerlilik süresini kontrol etmenin iki farklı yolunu destekler:
Firebase konsolu
Önizleme kanalının satırında simgesini tıklayın ve Kanal ayarları'nı seçin. Geçerlilik bitiş tarihini ve saatini girin.Firebase CLI
Önizleme kanalınıza dağıtım yaparken--expires DURATION
işaretini iletin. Örneğin:firebase hosting:channel:deploy new-awesome-feature --expires 7d
Son kullanma tarihi, dağıtım tarihinden itibaren 30 gün olabilir. Saatler için
h
, günler içind
ve haftalar içinw
kullanın (örneğin, sırasıyla12h
,7d
,2w
).
Sürümleri bir kanaldan diğerine klonlama
Bir kanalda dağıtılan sürümü farklı bir kanala kopyalayabilirsiniz. Canlı veya önizleme kanalları, Hosting siteleri ve hatta Firebase projeleri arasında içerikleri kopyalayabilirsiniz.
Klonlama komutu, kopyalanan Hosting içeriğin ve yapılandırmanın "hedef" kanalın ilişkili URL'sinde otomatik olarak yayınlanması için "hedef" kanala da dağıtır.
Bu özellik, sürüm izleme konusunda veya başka bir kanalda görüntülediğiniz ve/veya test ettiğiniz tam içeriğin dağıtımını yaptığınızdan emin olmak istiyorsanız kullanışlıdır. Aşağıda bazı örnekler verilmiştir:
"Soru-cevap" önizleme kanalını sitenizin canlı kanalına kopyalayın (canlı yayına geçme)
Sitenizin canlı kanalından "hata ayıklama" önizleme kanalına (ör. geri alma işleminden önce) kopyalama
"Hazırlık" Firebase projenizdeki bir kanaldan "ürün" Firebase projenizdeki bir önizleme kanalına klonlama
Bir sürümü klonlamak için herhangi bir dizinden aşağıdaki komutu çalıştırın:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID
Her yer tutucuyu aşağıdakiyle değiştirin:
SOURCE_SITE_ID ve TARGET_SITE_ID: Kanalları içeren Hosting sitelerinin kimlikleridir.
- Varsayılan Hosting siteniz için Firebase proje kimliğinizi kullanın.
- Aynı Firebase projesinde veya hatta farklı Firebase projelerinde yer alan Hosting siteleri belirtebilirsiniz.
SOURCE_CHANNEL_ID ve TARGET_CHANNEL_ID: Bunlar, kanalların tanımlayıcılarıdır.
- Canlı bir kanal için kanal kimliği olarak
live
kullanın. - Belirtilen "hedef" kanal henüz mevcut değilse bu komut, kanala dağıtımdan önce kanalı oluşturur.
- Canlı bir kanal için kanal kimliği olarak
Sitenizin önceki bir sürümüne geri dönme
Sitenizin canlı kanalının önceki bir sürümünü yayınlamak için geri dönebilirsiniz. Mevcut sürümünüzde bir sorun varsa ve sitenizin bilinen bir çalışan sürümünü sunmak için geri çekmek istiyorsanız bu işlem yararlıdır. Siteniz bir tatil veya özel etkinlik için geçici içerik yayınladıysa ancak artık "normal" içeriğinizi yayınlamak istiyorsanız da bu özelliği kullanabilirsiniz.
Geri çekerek, önceki sürümle aynı içerik sürümüne sahip yeni bir sürüm oluşturursunuz. Sürüm geçmişi tablonuzda her iki sürüm de aynı sürüm tanımlayıcısını listeler.
Geri alma işlemini şu şekilde yapabilirsiniz:
Firebase konsolunda, sitenizin Sürüm Geçmişi tablosunda, geri almak istediğiniz önceki sürüm girişinin üzerine gelin.
simgesini tıklayın, ardından Geri döndür'ü seçin.
Bir sürümü manuel olarak silme
Projenizde Hosting depolama alanında yer açmak için canlı kanalınızdan bir sürümü manuel olarak silmeniz gerekebilir. Yalnızca yayındaki sitenizde sunulan sürümü değil, yalnızca önceki sürümleri silebilirsiniz.
Bir sürümü sildiğinizde aslında içeriğini silmiş olursunuz. İçerik, 24 saat içinde silinecek şekilde planlanır. Sürüm nesnesi, meta verilerini (kim tarafından ne zaman dağıtıldığını) görmeye devam edebilmeniz için saklanır.
Bir sürümü nasıl sileceğiniz aşağıda açıklanmıştır:
Firebase konsolunda, sitenizin Sürüm Geçmişi tablosunda, silmek istediğiniz önceki sürüm girişinin üzerine gelin.
simgesini tıklayın, ardından Sil'i seçin.
Dosyaları manuel olarak silme
Firebase Hosting'te, dağıtılmış bir sitedeki seçili dosyaları silme yönteminin birincil yolu, dosyaları yerel olarak silmek ve ardından yeniden dağıtmaktır.
Önizleme kanalını manuel olarak silme
Önizlemek istediğiniz kanalı tıklayarak kanallarınızın önizlemesini görebilirsiniz. Bu görünümde, belirli bir kanala bağlı en yeni dağıtımları ve sürümleri görebilir, silebilir ve geri alabilirsiniz. Bir önizleme kanalını silebilirsiniz ancak sitenizin canlı kanalını silemezsiniz.
Bir önizleme kanalını sildiğinizde bu kanal, sürümleri ve ilişkili sürümleriyle birlikte 24 saat içinde silinmek üzere planlanır. İlişkili önizleme URL'si de devre dışı bırakılır. Sürüm silme işleminin istisnası, bir sürümün başka bir sürümle ilişkilendirilmesidir (örneğin, bir sürümü aynı sitedeki bir kanaldan diğerine klonlarsanız bu durum gerçekleşir).
Hosting, bir önizleme kanalını silmek için iki farklı yöntemi destekler:
Firebase konsolu
Önizleme kanalının satırında simgesini tıklayın ve Kanalı sil'i seçin. Silme işlemini onaylayın.Firebase CLI
Aşağıdaki komutu herhangi bir dizinden çalıştırın:firebase hosting:channel:delete CHANNEL_ID
Kanalları önizleme ve kanalları kopyalama için CLI komutları
Önizleme kanallarıyla ilgili komutlar
Birden fazla Hosting siteniz varsa önizleme kanallarıyla ilgili tüm komutlar dağıtım hedeflerini destekler.
Komut | Açıklama |
---|---|
firebase hosting:channel:create CHANNEL_ID
|
Belirtilen Bu komut kanala dağıtılmaz. |
firebase hosting:channel:delete CHANNEL_ID
|
Belirtilen önizleme kanalını siler. Sitelerin canlı kanallarını silemezsiniz. |
firebase hosting:channel:deploy CHANNEL_ID
|
Hosting içeriğinizi ve yapılandırmanızı belirtilen önizleme kanalına dağıtır Önizleme kanalı henüz mevcut değilse bu komut, kanalı dağıtmadan önce varsayılan Hosting sitesinde oluşturur. |
firebase hosting:channel:list
|
Varsayılan Hosting sitesinde tüm kanalları ("canlı" kanal dahil) listeler |
firebase hosting:channel:open CHANNEL_ID
|
Belirtilen kanalın URL'sini açmak için bir tarayıcı açar veya tarayıcıda açmak mümkün değilse URL'yi döndürür |
Sürüm klonlama komutları
Komut | Açıklama |
---|---|
firebase hosting:clone \
|
Belirtilen "kaynak" kanaldaki en son dağıtılan sürümü, belirtilen "hedef" kanala kopyalar Bu komut, belirtilen "hedef" kanala da dağıtılır. "Hedef" kanal henüz mevcut değilse bu komut, kanala dağıtımdan önce "hedef" Hosting sitesinde yeni bir önizleme kanalı oluşturur. |
firebase hosting:clone \
|
Belirtilen sürümü, belirtilen "hedef" kanala klonlar Bu komut, belirtilen "hedef" kanala da dağıtılır. "Hedef" kanal henüz mevcut değilse bu komut, kanala dağıtımdan önce "hedef" Hosting sitesinde yeni bir önizleme kanalı oluşturur.
|