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. Her kanal, belirli bir içeriği sunan bir URL ve Hosting yapılandırmasıyla ilişkilendirilir.
Firebase Hosting hiyerarşisi" />
Her Hosting sitesinde, içerik yayınlayan bir "canlı" 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ı tüm özel alan adlarında 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 da Hosting kontrol panelinde gösterilir.
Kanal ayarlarını yönetme
Sitenizdeki her kanalın ayarlarını kontrol edebilirsiniz. Kanalın geçerlilik süresi gibi bazı ayarlar yalnızca önizleme kanalları için geçerlidir.
Saklanacak sürüm sayısını sınırlama
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 saklayarak 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ı neden sınırlandırılıyor?
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.Saklanacak sürümleri 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, sürümleri ve ilişkili versiyonlarıyla birlikte 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
).
Bir kanaldaki sürümü başka bir kanala kopyalama
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 takibi için veya başka bir kanalda görüntülediğiniz ve/veya test ettiğiniz tam içeriği dağıttığınızdan emin olmak istiyorsanız kullanışlıdır. Aşağıda bazı örnekler verilmiştir:
"Soru-cevap" önizleme kanalından sitenizin canlı kanalına kopyala (canlı yayına geçme)
Sitenizin canlı kanalından "hata ayıklama" önizleme kanalına kopyalama (ör. geri alma işleminden önce)
"Hazırlık" Firebase projenizdeki bir kanalı "üretim" Firebase projenizdeki bir önizleme kanalına kopyalama
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 farklı Firebase projelerinde bulunan Hosting siteyi belirtebilirsiniz.
SOURCE_CHANNEL_ID ve TARGET_CHANNEL_ID: Bunlar, kanalların tanımlayıcılarıdır.
- Canlı kanallar için kanal kimliği olarak
live
değerini kullanın. - Belirtilen "hedef" kanal henüz mevcut değilse bu komut, kanala dağıtımdan önce kanalı oluşturur.
- Canlı kanallar 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 sorun varsa ve sitenizin bilinen bir çalışan sürümünü yayınlamak için geri almak istiyorsanız bu işlemden yararlanabilirsiniz. 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 döndüğünüzde, önceki sürümle aynı içerik sürümünü sunan 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 dönmek istediğiniz önceki sürüm girişinin üzerine gelin.
simgesini tıklayın, ardından Geri al'ı seçin.
Bir sürümü manuel olarak silme
Projeniz için Hosting depolama alanı açmak amacıyla bir yayını canlı kanalınızdan 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 nesnesini muhafaza ederiz. Böylece, meta verilerini (kim tarafından ne zaman dağıtıldığını) görmeye devam edebilirsiniz.
Bir sürümü silmek için:
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ı önizleyebilirsiniz. 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, kanalın yanı sıra sürümleri ve ilişkili sürümleri 24 saat içinde silinecek şekilde 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, aynı sitedeki bir sürümü bir kanaldan diğerine klonlarsanız bu durum gerçekleşir).
Hosting, önizleme kanallarını iki farklı şekilde silme özelliğini 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ı için 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 sitesindeki tüm kanalları ("canlı" kanal dahil) listeler |
firebase hosting:channel:open CHANNEL_ID
|
Belirtilen kanalın URL'sini içeren bir tarayıcı açar veya tarayıcıda açma 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 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.
|