Canlı & siteniz için kanalları, yayınları ve sürümleri önizleyin

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.

Firebase Hosting hiyerarşisinin bir resmi

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?
    Önceki sürümlerin içeriği bu depolama alanında tutulduğundan, bu özellik 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:

  1. 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.

  2. 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 bir sürümü aynı site içindeki 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çin d ve haftalar için w kullanın (örneğin, sırasıyla 12h , 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 ayrıca "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.

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:

  1. Firebase konsolunda , sitenizin Sürüm Geçmişi tablosunda, geri dönmek istediğiniz önceki sürüm girişinin üzerine gelin.

  2. tıklayın ve ardından Geri al'ı seçin.

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:

  1. Firebase konsolunda sitenizin Sürüm Geçmişi tablosunda, silmek istediğiniz önceki sürüm girişinin üzerine gelin.

  2. tıklayın ve ardından Sil'i seçin.

Ö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, aynı site içindeki bir sürümü 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 CHANNEL_ID kullanarak varsayılan Barındırma sitesinde yeni bir önizleme kanalı oluşturur

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 \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

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 \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

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.

VERSION_ID Firebase konsolunun Barındırma kontrol panelinde bulabilirsiniz.