Firebase Hosting, Hosting sitenizin kanallarını, yayınlarını ve sürümlerini yönetmek için hem Firebase konsolu hem de Firebase CLI aracılığıyla araçlar sağlar.
Barındırma altyapısına genel bakış
Barındırma 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 Barındırma sitesi vardır. Bir site, her kanalın belirli içeriği sunan bir URL ve bir Barındırma yapılandırmasıyla ilişkilendirildiği bir veya daha fazla kanal içerir.
Her Barındırma sitesinde, (1) sitenin Firebase tarafından sağlanan alt etki alanlarında ( SITE_ID .web.app
ve SITE_ID .firebaseapp.com
) ve (2) bağlı herhangi bir özel alanda içerik sunan bir "canlı" kanal ve bir Barındırma yapılandırması bulunur. Ayrıca isteğe bağlı olarak, kendi içeriğini ve yapılandırmasını geçici, paylaşılabilir "önizleme URL'lerinde" sunan "önizleme" kanalları da oluşturabilirsiniz (SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app
).
Her kanalın sunduğu içerik ve yapılandırma, benzersiz bir tanımlayıcıya sahip bir sürüm nesnesi halinde paketlenir. Sitenize dağıtım yaptığınızda Firebase, belirli bir sürüme işaret eden bir yayın nesnesi oluşturur. Bir sürüm, kimin dağıttığı ve ne zaman dağıttığı gibi dağıtımla ilgili meta verileri içerir.
Firebase projenizin Barındırma kontrol panelinde , Canlı kanalınızın yayınlarının tam geçmişini Sürüm geçmişi tablosunda görebilirsiniz. Birden fazla Barındırma siteniz varsa, istediğiniz sitenin yayın geçmişini görmek için Görüntüle'yi tıklayın. Önizleme kanallarınız varsa bunlar da Barındırma kontrol panelinde görüntülenir.
Bir kanalın ayarlarını yönetme
Sitenizdeki her kanal için ayarlarını kontrol edebilirsiniz. Kanal süre sonu gibi bazı ayarlar yalnızca önizleme kanalları için geçerlidir.
Saklanacak sürüm sayısını sınırlayın
Bir kanala her dağıtım yaptığınızda (ve bir sürüm oluşturduğunuzda), Hosting önceki sürümle ilişkili sürümü projenizin Hosting depolama alanında tutar. Hem canlı hem de önizleme kanalları olmak üzere projenizdeki her kanal için tutulacak yayın sayısını ayarlayabilirsiniz.
Hosting neden önceki sürümleri saklıyor?
Canlı kanalınız için önceki sürümleri saklamak, gerekirse sitenizin önceki bir sürümüne geri dönmenize olanak tanır. Önizleme kanallarınız için geri alma henüz mevcut değildir.Tutulacak 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 tutulduğu için projenizin Barındırma 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?
Tutulacak sürümler için bir sınır belirlediğinizde, belirlediğiniz sınırı aşan tüm sürümlerin içeriği , en eski sürümler ilk başta olmak üzere silinmek üzere planlanır.
Bir kanal için sürüm depolama sınırını nasıl ayarlayacağınız aşağıda açıklanmıştır:
Firebase konsolunda sürüm depolama ayarı iletişim kutusuna erişin:
Canlı kanalınız için
Sitenizin Sürüm Geçmişi tablosunda tıklayın ve ardından Sürüm depolama ayarları 'nı seçin.Herhangi bir önizleme kanalı için
Önizleme kanalı satırında tıklayın ve ardından Kanal ayarları'nı seçin.
Saklamak istediğiniz sürüm sayısını girin ve ardından Kaydet'i tıklayın.
Önizleme kanalının sona erme tarihini ayarlama
Varsayılan olarak bir önizleme kanalının süresi, oluşturulma tarihinden itibaren 7 gün sonra dolar, ancak sitenizin canlı kanalının süresi hiçbir zaman dolmaz.
Bir önizleme kanalının süresi dolduğunda kanalın, yayınları ve ilgili sürümleriyle birlikte 24 saat içinde silinmesi planlanır. İlgili önizleme URL'si de devre dışı bırakılır. Bu sürüm silme işleminin bir istisnası, bir sürümün başka bir sürümle ilişkili olmasıdır (bu, örneğin, aynı site içindeki bir sürümü bir kanaldan diğerine kopyaladığınızda meydana gelir).
Hosting, bir kanalın süresinin dolmasını kontrol etmenin iki farklı yolunu destekler:
Firebase konsolu
Önizleme kanalı satırında tıklayın ve ardından Kanal ayarları'nı seçin. Sona erme tarihini ve saatini girin.Firebase CLI
Önizleme kanalınıza dağıtım yaptığınızda--expires DURATION
bayrağını iletin, örneğin:firebase hosting:channel:deploy new-awesome-feature --expires 7d
Son kullanma tarihi, dağıtım tarihinden itibaren 30 güne kadar olabilir. Saatler için
h
, günler içind
ve haftalar içinw
kullanın (örneğin, sırasıyla12h
,7d
,2w
).
Bir sürümü bir kanaldan diğerine kopyalayın
Dağıtılmış bir sürümü bir kanaldan farklı bir kanala kopyalayabilirsiniz. Canlı veya önizleme kanallarında, Barındırma sitelerinde ve hatta Firebase projelerinde klonlama yapabilirsiniz.
Klonlama komutu aynı zamanda "hedef" kanala da dağıtılır , böylece klonlanan Barındırma içeriği ve yapılandırması otomatik olarak "hedef" kanalın ilişkili URL'sinde sunulur.
Bu özellik, sürüm izleme için veya görüntülediğiniz ve/veya test ettiğiniz içeriğin aynısını başka bir kanalda dağıttığınızdan emin olmak istiyorsanız kullanışlıdır. İşte bazı örnekler:
Bir "QA" önizleme kanalından sitenizin canlı kanalına kopyalayın (yayına geçiyor!)
Sitenizin canlı kanalından bir "hata ayıklama" önizleme kanalına klonlayın (geri alma öncesinde olduğu gibi)
"Aşamalama" Firebase projenizdeki bir kanaldan "prod" Firebase projenizdeki bir önizleme kanalına klonlama
Bir sürümü kopyalamak 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ın bulunduğu Hosting sitelerinin ID'leridir.
- Varsayılan Barındırma siteniz için Firebase proje kimliğinizi kullanın.
- Aynı Firebase projesinde, hatta farklı Firebase projelerinde bulunan Barındırma sitelerini 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, kanalı konuşlandırmadan önce oluşturur.
- Canlı bir kanal için kanal kimliği olarak
Bir sürümü aynı Barındırma sitesindeki bir kanaldan başka bir kanala kopyaladığınızda, Firebase tam olarak aynı sürüme işaret eden yeni bir yayın nesnesi oluşturur. Barındırma sitenizde her ikisinin de aynı sürüme işaret ettiği (sürüm kimliğiyle tanımlanan) iki sürüm göreceksiniz.
Ancak, bir sürümü farklı bir Barındırma sitesindeki (veya farklı bir Firebase projesindeki) bir kanala kopyalarsanız Firebase hem yeni bir sürüm hem de yeni bir sürüm (farklı bir sürüm kimliğiyle tanımlandığı şekilde) oluşturur.
Sitenizin önceki bir sürümüne geri dönün
Sitenizin canlı kanalının önceki bir sürümünü sunmak için geri dönebilirsiniz. Mevcut sürümünüzde bir sorun varsa ve sitenizin bilinen, çalışan bir sürümünü sunmak üzere geri dönmek istiyorsanız bu eylem yararlı olur. Veya siteniz bir tatil veya özel etkinlik için geçici içerik sunmuş olabilir, ancak şimdi "normal" içeriğinizi sunmak için geri dönmek istiyorsunuz.
Geri alarak, ö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ı listeleyecektir.
Nasıl geri alınacağı aşağıda açıklanmıştır:
Firebase konsolunda , sitenizin Sürüm Geçmişi tablosunda, geri dönmek istediğiniz önceki sürüm girişinin üzerine gelin.
Bir sürümü manuel olarak silme
Projeniz için Barındırma depolama alanında yer açmak amacıyla canlı kanalınızdan bir sürümü manuel olarak silmeniz gerekebilir. Şu anda yayında olan sitenizde sunulan sürümü değil, yalnızca önceki sürümleri silebilirsiniz.
Bir sürümü sildiğinizde, aslında 24 saat içinde silinmesi planlanan içeriğini de silmiş olursunuz. Yayın nesnesinin kendisi, meta verilerini (kimin dağıttığı ve ne zaman dağıttığı) görebilmeniz için tutulur.
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.
Önizleme kanalını manuel olarak silme
Önizlemek istediğiniz kanalın üzerine tıklayarak kanallarınızın ön izlemesini yapabilirsiniz. Bu görünümden, belirli bir kanala bağlı en yeni dağıtımları ve yayınları 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, yayınları ve ilgili sürümleriyle birlikte 24 saat içinde silinmesi planlanır. İlgili önizleme URL'si de devre dışı bırakılır. Sürüm silme işleminin bir istisnası, bir sürümün başka bir sürümle ilişkili olmasıdır (bu, örneğin bir sürümü aynı site içindeki bir kanaldan diğerine kopyaladığınızda meydana gelir).
Hosting, bir önizleme kanalını silmenin iki farklı yolunu destekler:
Firebase konsolu
Önizleme kanalı satırında tıklayın ve ardından Kanalı sil 'i seçin. Silme işlemini onaylayın.Firebase CLI
Herhangi bir dizinden aşağıdaki komutu çalıştırın:firebase hosting:channel:delete CHANNEL_ID
Önizleme kanalları ve klonlama için CLI komutları
Önizleme kanalları için komutlar
Birden fazla Barındırma siteniz varsa, önizleme kanallarına yönelik tüm komutlar dağıtım hedeflerini destekler.
Emretmek | Tanım |
---|---|
firebase hosting:channel:create CHANNEL_ID | Belirtilen Bu komut kanala dağıtılmaz. |
firebase hosting:channel:delete CHANNEL_ID | Belirtilen önizleme kanalını siler Bir sitenin canlı kanalını silemezsiniz. |
firebase hosting:channel:deploy CHANNEL_ID | Barındırma içeriğinizi ve yapılandırmanızı belirtilen önizleme kanalına dağıtır Önizleme kanalı henüz mevcut değilse bu komut, kanala dağıtılmadan önce varsayılan Barındırma sitesinde kanalı oluşturur. |
firebase hosting:channel:list | Varsayılan Barındırma sitesindeki tüm kanalları ("canlı" kanal dahil) listeler |
firebase hosting:channel:open CHANNEL_ID | Belirtilen kanalın URL'sine 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ı
Emretmek | Tanım |
---|---|
firebase hosting:clone \ | Belirtilen "kaynak" kanaldaki en son konuşlandırılan sürümü belirtilen "hedef" kanala kopyalar Bu komut aynı zamanda belirtilen "hedef" kanala da dağıtılır. "Hedef" kanal henüz mevcut değilse, bu komut, kanala dağıtılmadan önce "hedef" Hosting sitesinde yeni bir önizleme kanalı oluşturur. |
firebase hosting:clone \ | Belirtilen sürümü belirtilen "hedef" kanala kopyalar Bu komut aynı zamanda belirtilen "hedef" kanala da dağıtılır. "Hedef" kanal henüz mevcut değilse, bu komut, kanala dağıtılmadan önce "hedef" Hosting sitesinde yeni bir önizleme kanalı oluşturur. |