Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Siteniz için canlı ve önizleme kanallarını, sürümleri ve sürümleri yönetin

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.

Firebase Barındırma hiyerarşisinin bir görüntüsü

Her Barındırma sitesinde, (1) sitenin SITE_ID .web.app tarafından sağlanan alt SITE_ID .web.app 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" SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app "önizleme" kanalları da oluşturabilirsiniz ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Her kanal tarafından sunulan içerik ve yapılandırma, benzersiz bir tanımlayıcıya sahip bir sürüm nesnesi içinde 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 tutmak, 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?
    Saklanacak 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:

  1. 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ı öğ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.

  2. 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şturulma tarihinden 7 gün sonra 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 24 saat içinde silinmek üzere 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ı --expires DURATION , ö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 klonlayın

Dağıtılan bir sürümü bir kanaldan farklı bir kanala kopyalayabilirsiniz. Canlı veya önizleme kanalları, Barındırma siteleri 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 TARGET_SITE_ID .

    • 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 TARGET_CHANNEL_ID .

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

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.

İşte nasıl geri alacağınız:

  1. Firebase konsolunda , sitenizin Yayın Geçmişi tablosunda fareyle geri almak istediğiniz önceki yayın girişinin üzerine gelin.

  2. Click ardından Rulo geri seçin.

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 yayında olan sitenizde sunulmakta olan 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 sürümü nasıl sileceğiniz aşağıda açıklanmıştır:

  1. Firebase konsolunda , sitenizin Yayın Geçmişi tablosunda fareyle silmek istediğiniz önceki yayın girişinin üzerine gelin.

  2. öğesini tıklayın, ardından Sil öğesini seçin.

Ö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çinde 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ı için tüm komutlar dağıtım hedeflerini destekler.

Komut Açıklama
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, 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

Komut Açıklama
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

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

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.

VERSION_ID Firebase konsolunun Barındırma panosunda bulabilirsiniz.