Canlı yayınları yönetin siteniz için kanalları, sürümleri ve sürümleri önizleme

Firebase Hosting, Firebase konsolu ve Firebase KSA aracılığıyla Hosting sitenizin kanallarını, sürümlerini ve versiyonlarını yönetmek için araçlar sunar.

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 içeriklerin sunulduğu bir URL ve bir Hosting yapılandırmasıyla ilişkilendirilir.

<span class=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. İsteğe bağlı olarak, geçici ve paylaşılabilir "önizleme URL'leri"nde (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app) kendi içeriklerini ve yapılandırmalarını sunan "önizleme" kanalları da oluşturabilirsiniz.

Her kanal tarafından sunulan içerik ve yapılandırma, benzersiz tanımlayıcıya sahip bir sürüm nesnesi olarak paketlenir. Sitenize dağıtım yaptığınızda Firebase, belirli bir sürümü işaret eden bir sürüm nesnesi oluşturur. Bir sürüm, dağıtımla ilgili meta verileri (ör. kimin ne zaman dağıtım yaptığı) içerir.

Firebase projenizin Hosting kontrol panelinde, canlı kanalınızın yayınları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 istediğiniz site için Görüntüle'yi tıklayın. Önizleme kanallarınız varsa bunlar da Hosting kontrol panelinde gösterilir.

Kanal ayarlarını yönetme

Sitenizin her kanalı için ayarları kontrol edebilirsiniz. Kanalın süresinin dolması 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 sürüm oluşturduğunuzda) Hosting, projenizin Hosting depolama alanında önceki sürümle ilişkili sürümü tutar. Projenizdeki her kanal için (hem canlı hem de önizleme kanalları) saklanacak sürüm sayısını ayarlayabilirsiniz.

  • Hosting neden önceki sürümleri saklıyor?
    Canlı kanalınızda önceki sürümleri tutarak gerekirse sitenizin önceki bir sürümüne geri dönebilirsiniz. Önizleme kanallarınız için henüz geri alma özelliği kullanılamamaktadır.

  • Saklanacak sürüm sayısını neden sınırlamalıyım?
    Bu özellik, önceki sürümlerin içeriği bu depolama alanında tutulduğu için projenizin Hosting depolama alanı kullanım düzeyini kontrol etmenize yardımcı olabilir. Hosting depolama alanınızı konsoldaki Depolama sekmesinden izleyebilirsiniz.

  • Saklanacak yayın sayısını sınırladığınızda ne olur?
    Saklanacak yayın sayısı için bir sınır belirlediğinizde, belirlediğiniz sınırın üzerindeki yayınların içeriği en eski yayınlardan başlayarak silinmek üzere planlanır.

Bir kanal için yayın depolama alanı sınırını ayarlama:

  1. Firebase konsolunda, yayın depolama ayarı iletişim kutusuna erişin:

    • Canlı kanalınız için
      Sitenizin Yayın Geçmişi tablosunda simgesini tıklayın, ardından Yayın depolama 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.

  2. Saklamak istediğiniz yayın sayısını girip Kaydet'i tıklayın.

Önizleme kanalının geçerlilik süresini ayarlama

Varsayılan olarak, önizleme kanallarının geçerlilik süresi oluşturulma tarihinden itibaren 7 gün sonra sona erer ancak sitenizin canlı kanalının geçerlilik süresi hiçbir zaman sona ermez.

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 silinmek üzere planlanır. İlişkili önizleme URL'si de devre dışı bırakılır. Bu sürüm silme işlemine istisna olarak, bir sürümün başka bir yayınla ilişkilendirilmesi (örneğin, bir sürümü bir kanaldan aynı site içindeki başka bir kanala klonladığınızda bu durum oluşur) gösterilebilir.

Hosting, kanalın süresinin dolmasını kontrol etmek için iki farklı yöntemi destekler:

  • Firebase konsolu
    Önizleme kanalının satırında simgesini tıklayın, ardından 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. Saat için h, gün için d, hafta için w kullanın (örneğin, sırasıyla 12h, 7d, 2w).

Bir kanaldaki sürümü başka bir kanala kopyalama

Dağıtılan bir sürümü bir kanaldan farklı bir kanala klonlayabilirsiniz. Canlı veya önizleme kanallarında, Hosting sitelerinde, hatta Firebase projelerinde klonlama yapabilirsiniz.

Klonlama komutu, klonlanan içerik ve yapılandırmanın "hedef" kanalın ilişkili URL'sinde otomatik olarak yayınlanması için"hedef" kanala da dağıtım yapar.Hosting

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 istediğinizde kullanışlıdır. Aşağıda bazı örnekler verilmiştir:

  • "Kalite kontrolü" önizleme kanalından sitenizin canlı kanalına klonlama (yayına alma)

  • Sitenizin canlı kanalından bir "hata ayıklama" önizleme kanalına (ör. geri alma işleminden önce) klonlama

  • "Hazırlama" Firebase projenizdeki bir kanaldan "üretim" Firebase projenizdeki bir önizleme kanalına klonlama

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ğıdakilerle değiştirin:

  • SOURCE_SITE_ID ve TARGET_SITE_ID: Bunlar, 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 site 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 simgesini kullanın.
    • Belirtilen "hedef" kanalı henüz mevcut değilse bu komut, kanala dağıtım yapmadan önce kanalı oluşturur.

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. Bu işlem, mevcut sürümünüzde bir sorun varsa ve sitenizin bilinen bir sürümüne geri dönmek istiyorsanız kullanışlıdır. Veya belki de sitenizde bir tatil ya da özel etkinlik için geçici içerik yayınlandı ancak artık "normal" içeriğinizi yayınlamaya geri dönmek istiyorsunuz.

Geri dönerek ö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ıyla listelenir.

Geri alma işlemini şu şekilde yapabilirsiniz:

  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. simgesini tıklayın ve Geri al'ı seçin.

Sürümü manuel olarak silme

Projeniz için Hosting depolama alanı açmak üzere yayını canlı kanalınızdan manuel olarak silmeniz gerekebilir. Yalnızca önceki sürümleri silebilirsiniz. Şu anda canlı sitenizde sunulan sürümü silemezsiniz.

Bir yayını sildiğinizde aslında içeriğini silmiş olursunuz. Bu içerik, 24 saat içinde silinmek üzere planlanır. Yayın nesnesi, meta verilerini (kimin ne zaman dağıttığı) görmeye devam edebilmeniz için saklanır.

Bir yayını silmek için:

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

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

Dosyaları manuel olarak silme

Firebase Hosting'da, dağıtılan bir siteden seçili dosyaları silmenin birincil yolu, dosyaları yerel olarak silip 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 kanalla ilişkili en yeni dağıtımları ve yayınları görebilir, silebilir ve geri alabilirsiniz. Önizleme kanalını silebilirsiniz ancak sitenizin yayındaki kanalını silemezsiniz.

Bir önizleme kanalını sildiğinizde, kanalın sürümleri ve ilişkili versiyonlarıyla birlikte 24 saat içinde silinmesi planlanır. İlişkili önizleme URL'si de devre dışı bırakılır. Sürüm silme işlemine istisna olarak, bir sürümün başka bir yayınla ilişkilendirilmesi (örneğin, bir sürümü aynı site içinde bir kanaldan diğerine klonladığınızda bu durum oluşur) gösterilebilir.

Hosting, önizleme kanallarını silmek için iki farklı yöntem sunar:

  • Firebase konsolu
    Önizleme kanalının satırında simgesini tıklayın, ardından 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

Önizleme kanalları ve klonlama için KSA komutları

Önizleme kanallarına yönelik 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 CHANNEL_ID kullanarak varsayılan Hosting 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

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, kanala dağıtmadan önce varsayılan Hosting sitesinde kanalı oluşturur.

firebase hosting:channel:list Hosting sitesindeki tüm kanalları ("canlı" kanalı dahil) listeler.
firebase hosting:channel:open CHANNEL_ID Belirtilen kanalın URL'si için 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ı

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

Belirtilen "kaynak" kanalındaki en son dağıtılan sürümü belirtilen "hedef" kanala kopyalar.

Bu komut, belirtilen "hedef" kanala da dağıtılır. "target" kanalı henüz mevcut değilse bu komut, kanala dağıtmadan önce "target" 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, belirtilen "hedef" kanala da dağıtılır. "target" kanalı henüz mevcut değilse bu komut, kanala dağıtmadan önce "target" Hosting sitesinde yeni bir önizleme kanalı oluşturur.

VERSION_ID simgesini Firebase konsolunun Hosting kontrol panelinde bulabilirsiniz.