Firebase Hosting, Barındırma 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, tüm proje 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 bir içerik sunan bir URL ve bir Barındırma yapılandırması ile 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) herhangi bir bağlı özel etki alanında içerik ve bir Barındırma yapılandırması sunan bir "canlı" kanalı vardır. Ayrıca isteğe bağlı olarak kendi içeriklerini ve konfigürasyonlarını geçici, paylaşılabilir "önizleme URL'lerinde" sunan "önizleme" kanalları da oluşturabilirsiniz ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app
).
Her kanal tarafından sunulan içerik ve konfigürasyon, benzersiz bir tanımlayıcıya sahip bir sürüm nesnesinde paketlenir. Sitenize dağıttığınızda, Firebase belirli bir sürüme işaret eden bir yayın nesnesi oluşturur. Bir sürüm, kimin dağıtıldığı ve ne zaman dağıtıldığı gibi dağıtımla ilgili meta verileri içerir.
Firebase projenizin Barındırma panosundan , bir Yayın geçmişi tablosunda canlı kanalınızın sürümlerinin tam geçmişini görebilirsiniz. Birden fazla Barındırma siteniz varsa, yayın geçmişini görmek için istediğiniz site için Görüntüle'yi tıklayın. Önizleme kanallarınız varsa bunlar da Barındırma panosunda görüntülenir.
Bir kanalın ayarlarını yönetme
Sitenizin 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 Barındırma deposunda tutar. Hem canlı hem de önizleme kanalları olmak üzere projenizdeki her kanal için tutulacak yayın sayısını belirleyebilirsiniz.
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önmenizi sağlar. Önizleme kanallarınız için geri alma henüz mümkün değildir.Tutulacak yayın sayısını neden sınırlamalısınız?
Önceki sürümlerin içeriği bu depoda tutulduğundan, bu özellik projenizin Barındırma deposunun kullanım düzeyini kontrol etmenize yardımcı olabilir. Barındırma depolamanızı konsoldaki Depolama sekmesinden izleyebilirsiniz.Yayınları tutulacak şekilde sınırladığınızda ne olur?
Tutulacak yayınlar için bir sınır belirlediğinizde, belirlediğiniz sınırı aşan yayınların içeriği, önce en eski yayınlardan başlayarak silinmek üzere programlanı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 Yayın Geçmişi tablosunda öğesini tıklayın, ardından Depolama ayarlarını yayınla öğesini seçin.Herhangi bir önizleme kanalı için
Önizleme kanalı satırında öğesini tıklayın, ardından Kanal ayarları öğesini seçin.
Tutmak istediğiniz yayın sayısını girin ve ardından Kaydet 'i tıklayın.
Önizleme kanalının sona erme tarihini ayarlayın
Varsayılan olarak, bir önizleme kanalının süresi, oluşturulduğu tarihten itibaren 7 gün içinde sona erer, ancak sitenizin canlı kanalının süresi asla sona ermez.
Bir önizleme kanalının süresi dolduğunda, yayınları ve ilişkili sürümleriyle birlikte kanalın 24 saat içinde silinmesi planlanır. İlişkili ö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şkilendirilmesidir (bu, örneğin aynı site içinde bir kanaldan diğerine bir sürümü klonlarsanız olur).
Barındırma, bir kanalın sona erme tarihini kontrol etmenin iki farklı yolunu destekler:
Firebase konsolu
Önizleme kanalı satırında öğesini tıklayın, ardından Kanal ayarları öğesini seçin. Son kullanma tarihini ve saatini girin.Firebase CLI
Önizleme kanalınıza dağıtırken--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 klonlayın
Dağıtılan bir sürümü bir kanaldan farklı bir kanala kopyalayabilirsiniz. Canlı veya önizleme kanalları arasında, Barındırma siteleri arasında ve hatta Firebase projeleri arasında klonlayabilirsiniz.
Klon komutu ayrıca "hedef" kanala 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 tam olarak görüntülediğiniz ve/veya başka bir kanalda test ettiğiniz içeriği dağıttığınızdan emin olmak istiyorsanız kullanışlıdır. İşte bazı örnekler:
Bir "QA" önizleme kanalından sitenizin canlı kanalına klonlayın (canlı olacak!)
Sitenizin canlı kanalından bir "hata ayıklama" önizleme kanalına klonlayın (geri alma öncesi gibi)
"Hazırlama" Firebase projenizdeki bir kanaldan "ürün" Firebase projenizdeki bir önizleme kanalına klonlayın
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 bir yer tutucuyu aşağıdakilerle değiştirin:
SOURCE_SITE_ID ve TARGET_SITE_ID : Kanalları içeren Hosting sitelerinin ID'leridir.
- Varsayılan Barındırma siteniz için Firebase proje kimliğinizi kullanın.
- Aynı Firebase projesinde veya 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ı dağıtmadan önce oluşturur.
- Canlı bir kanal için, kanal kimliği olarak
Aynı Barındırma sitesindeki bir kanaldan başka bir kanala bir sürüm 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 ikisi de aynı sürüme işaret eden iki sürüm göreceksiniz (sürüm kimliğiyle tanımlandığı gibi).
Ancak, farklı bir Barındırma sitesindeki (veya farklı bir Firebase projesindeki) bir kanala bir sürüm klonlarsanız, Firebase hem yeni bir sürüm hem de yeni bir sürüm (farklı bir sürüm kimliğiyle tanımlandığı gibi) 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. Bu eylem, mevcut sürümünüzde bir sorun varsa ve sitenizin bilinen bir çalışan sürümünü sunmak için geri almak istiyorsanız yararlıdır. 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 bir 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.
Nasıl geri alacağınız aşağıda açıklanmıştır:
Firebase konsolunda , sitenizin Yayın Geçmişi tablosunda fareyle geri almak istediğiniz önceki yayın girişinin üzerine gelin.
Bir sürümü manuel olarak silme
Projeniz için Barındırma depolama alanında yer açmak için canlı kanalınızdan bir sürümü manuel olarak silmeniz gerekebilir. Şu anda canlı 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 silmiş olursunuz. Serbest bırakma nesnesinin kendisi, meta verilerini (kimin konuşlandırıldığını ve ne zaman dağıtıldığını) görebilmeniz için tutulur.
Bir yayının nasıl silineceği aşağıda açıklanmıştır:
Firebase konsolunda , sitenizin Yayın Geçmişi tablosunda fareyle silmek istediğiniz önceki yayın girişinin üzerine gelin.
Önizleme kanalını manuel olarak silme
Bir önizleme kanalını silebilirsiniz, ancak sitenizin canlı kanalını silemezsiniz.
Bir önizleme kanalını sildiğinizde, yayınları ve ilişkili sürümleriyle birlikte kanalın 24 saat içinde silinmesi planlanır. İlişkili önizleme URL'si de devre dışı bırakılır. Sürüm silmenin bir istisnası, bir sürümün başka bir sürümle ilişkilendirilmesidir (bu, örneğin aynı site içindeki bir kanaldan diğerine bir sürüm klonlarsanız olur).
Hosting, bir önizleme kanalını silmenin iki farklı yolunu destekler:
Firebase konsolu
Önizleme kanalı satırında öğesini tıklayın, ardından Kanalı sil öğesini 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 | 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 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, kanalı dağıtmadan ö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 bir tarayıcıda açmak mümkün değilse URL'yi döndürür |
Sürüm klonlama için komutlar
Emretmek | Açıklama |
---|---|
firebase hosting:clone \ | Belirtilen "kaynak" kanalda en son dağıtılan sürümü belirtilen "hedef" kanala klonlar Bu komut ayrıca belirtilen "hedef" kanala da dağıtılır. "Hedef" kanal henüz mevcut değilse, bu komut kanala dağıtılmadan önce "hedef" Barındırma sitesinde yeni bir önizleme kanalı oluşturur. |
firebase hosting:clone \ | Belirtilen sürümü belirtilen "hedef" kanala klonlar Bu komut ayrıca belirtilen "hedef" kanala da dağıtılır. "Hedef" kanal henüz mevcut değilse, bu komut kanala dağıtılmadan önce "hedef" Barındırma sitesinde yeni bir önizleme kanalı oluşturur. |