Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Kelola saluran live & pratinjau, rilis, dan versi untuk situs Anda

Firebase Hosting menyediakan alat melalui Firebase console dan Firebase CLI untuk mengelola saluran, rilis, dan versi untuk situs Hosting Anda.

Tinjauan infrastruktur Hosting

Memahami infrastruktur Hosting membantu Anda memahami opsi manajemen yang dijelaskan di halaman ini.

Setiap proyek Firebase memiliki situs Hosting default dengan akses ke semua sumber daya proyek (database, autentikasi, fungsi, dll.). Situs berisi satu atau beberapa saluran , di mana setiap saluran dikaitkan dengan URL yang menyajikan konten tertentu dan konfigurasi Hosting.

gambar hierarki Firebase Hosting

Setiap situs Hosting memiliki saluran "langsung" yang menyajikan konten dan konfigurasi Hosting di (1) subdomain yang disediakan oleh Firebase situs ( SITE_ID .web.app dan SITE_ID .firebaseapp.com ) dan (2) setiap domain khusus yang terhubung . Secara opsional, Anda juga dapat membuat saluran "pratinjau" yang menayangkan konten dan konfigurasinya sendiri di "URL pratinjau" sementara yang dapat dibagikan ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Konten dan konfigurasi yang disajikan oleh setiap saluran dikemas ke dalam objek versi yang memiliki pengidentifikasi unik. Saat Anda men-deploy ke situs Anda, Firebase membuat objek rilis yang mengarah ke versi tertentu. Rilis berisi metadata tentang penerapan, seperti siapa yang menerapkan dan kapan mereka menerapkan.

Dari dasbor Hosting proyek Firebase, Anda dapat melihat riwayat lengkap rilis saluran langsung Anda di tabel Riwayat rilis . Jika Anda memiliki beberapa situs Hosting , klik Lihat untuk situs yang diinginkan guna melihat riwayat rilisnya. Jika Anda memiliki saluran pratinjau, saluran tersebut juga ditampilkan di dasbor Hosting.

Kelola setelan saluran

Untuk setiap saluran situs Anda, Anda dapat mengontrol setelannya. Beberapa setelan, seperti kedaluwarsa saluran, hanya berlaku untuk saluran pratinjau.

Batasi jumlah rilis yang akan disimpan

Setiap kali Anda menerapkan ke saluran (dan membuat rilis), Hosting menyimpan versi yang terkait dengan rilis sebelumnya di penyimpanan Hosting proyek Anda. Anda dapat mengatur jumlah rilis yang akan disimpan untuk setiap saluran dalam proyek Anda, baik saluran langsung maupun pratinjau.

  • Mengapa Hosting menyimpan rilis sebelumnya?
    Untuk saluran langsung Anda, mempertahankan rilis sebelumnya memungkinkan Anda memutar kembali ke versi sebelumnya dari situs Anda, jika diperlukan. Untuk saluran pratinjau Anda, pengembalian belum tersedia.

  • Mengapa membatasi jumlah rilis yang akan disimpan?
    Fitur ini dapat membantu Anda mengontrol tingkat penggunaan penyimpanan Hosting proyek Anda, karena konten untuk rilis sebelumnya disimpan di penyimpanan ini. Anda dapat memantau penyimpanan Hosting Anda dari tab Penyimpanan di konsol.

  • Apa yang terjadi jika Anda membatasi rilis untuk disimpan?
    Saat Anda menyetel batas untuk mempertahankan rilis, konten rilis apa pun yang melebihi batas yang Anda tetapkan akan dijadwalkan untuk dihapus, dimulai dengan rilis terlama terlebih dahulu .

Berikut cara menyetel batas penyimpanan rilis untuk saluran:

  1. Di konsol Firebase , akses dialog setelan penyimpanan rilis:

    • Untuk saluran langsung Anda
      Di tabel Riwayat Rilis untuk situs Anda, klik , lalu pilih Rilis pengaturan penyimpanan .

    • Untuk setiap saluran pratinjau
      Di baris saluran pratinjau, klik , lalu pilih Pengaturan saluran .

  2. Masukkan jumlah rilis yang ingin disimpan, lalu klik Simpan .

Tetapkan kedaluwarsa saluran pratinjau

Secara default, saluran pratinjau kedaluwarsa 7 hari sejak tanggal pembuatannya, tetapi saluran langsung situs Anda tidak akan pernah kedaluwarsa.

Saat saluran pratinjau kedaluwarsa, saluran, beserta rilisnya dan versi terkait, dijadwalkan untuk dihapus dalam waktu 24 jam. URL pratinjau terkait juga dinonaktifkan. Pengecualian untuk penghapusan versi ini adalah jika versi dikaitkan dengan rilis lain (hal ini terjadi, misalnya, jika Anda mengkloning versi dari satu saluran ke saluran lain dalam situs yang sama ).

Hosting mendukung dua cara berbeda untuk mengontrol kedaluwarsa saluran:

  • Konsol Firebase
    Di baris saluran pratinjau, klik , lalu pilih Pengaturan saluran . Masukkan tanggal dan waktu untuk kedaluwarsa.

  • Firebase CLI
    Saat Anda men-deploy ke saluran pratinjau, berikan tanda --expires DURATION , misalnya:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    Kedaluwarsa bisa sampai 30 hari sejak tanggal penerapan. Gunakan h untuk jam, d untuk hari, dan w untuk minggu (misalnya, 12h , 7d , 2w , masing-masing).

Kloning versi dari satu saluran ke saluran lainnya

Anda dapat mengkloning versi yang diterapkan dari satu saluran ke saluran lain. Anda dapat mengkloning di seluruh saluran langsung atau pratinjau, di seluruh situs Hosting, atau bahkan di seluruh proyek Firebase.

Perintah clone juga diterapkan ke saluran "target" sehingga konten dan konfigurasi Hosting yang dikloning secara otomatis disajikan di URL terkait saluran "target".

Fitur ini berguna untuk pelacakan versi atau jika Anda ingin yakin bahwa Anda menerapkan konten persis seperti yang telah Anda lihat dan/atau uji di saluran lain. Berikut beberapa contohnya:

  • Kloning dari saluran pratinjau "QA" ke saluran langsung situs Anda (tayang langsung!)

  • Kloning dari saluran langsung situs Anda ke saluran pratinjau "debug" (seperti sebelum rollback)

  • Gandakan dari saluran di proyek Firebase "staging" Anda ke saluran pratinjau di proyek Firebase "prod" Anda

Untuk mengkloning versi, jalankan perintah berikut dari direktori mana saja:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Ganti setiap placeholder dengan yang berikut:

  • SOURCE_SITE_ID dan TARGET_SITE_ID : Ini adalah ID situs Hosting yang berisi saluran.

    • Untuk situs Hosting default Anda, gunakan project ID Firebase Anda.
    • Anda dapat menentukan situs Hosting yang berada dalam proyek Firebase yang sama atau bahkan dalam proyek Firebase yang berbeda.
  • SOURCE_CHANNEL_ID dan TARGET_CHANNEL_ID : Ini adalah pengenal untuk saluran.

    • Untuk saluran langsung, gunakan live sebagai ID saluran.
    • Jika saluran "target" yang ditentukan belum ada, perintah ini akan membuat saluran sebelum menerapkannya.

Kembalikan ke versi situs Anda sebelumnya

Anda dapat memutar kembali untuk menayangkan versi sebelumnya dari saluran langsung situs Anda. Tindakan ini berguna jika rilis Anda saat ini memiliki masalah dan Anda ingin melakukan roll back untuk menyajikan versi situs Anda yang berfungsi dengan baik. Atau mungkin situs Anda menyajikan konten sementara untuk liburan atau acara khusus, tetapi sekarang Anda ingin memutar kembali untuk menayangkan konten "biasa" Anda.

Dengan memutar kembali, Anda membuat rilis baru yang menyajikan versi konten yang sama dengan rilis sebelumnya. Di tabel Riwayat rilis , kedua rilis akan mencantumkan pengidentifikasi versi yang sama.

Berikut cara memutar kembali:

  1. Di konsol Firebase , di tabel Riwayat Rilis untuk situs Anda, arahkan kursor ke entri rilis sebelumnya yang ingin Anda kembalikan.

  2. Klik , lalu pilih Roll back .

Hapus rilis secara manual

Anda mungkin perlu menghapus rilis dari saluran langsung secara manual untuk mengosongkan penyimpanan Hosting untuk proyek Anda. Anda hanya dapat menghapus rilis sebelumnya, bukan rilis yang saat ini ditayangkan di situs langsung Anda.

Saat Anda menghapus rilis, Anda sebenarnya menghapus kontennya, yang dijadwalkan untuk dihapus dalam waktu 24 jam. Objek rilis itu sendiri disimpan sehingga Anda masih dapat melihat metadatanya (siapa yang menerapkan dan kapan mereka menerapkan).

Berikut cara menghapus rilis:

  1. Di konsol Firebase , di tabel Riwayat Rilis untuk situs Anda, arahkan kursor ke entri rilis sebelumnya yang ingin Anda hapus.

  2. Klik , lalu pilih Hapus .

Hapus saluran pratinjau secara manual

Anda dapat menghapus saluran pratinjau, tetapi Anda tidak dapat menghapus saluran langsung situs Anda.

Saat Anda menghapus saluran pratinjau, saluran tersebut, beserta rilisnya dan versi terkait, dijadwalkan untuk dihapus dalam waktu 24 jam. URL pratinjau terkait juga dinonaktifkan. Pengecualian untuk penghapusan versi adalah jika versi dikaitkan dengan rilis lain (hal ini terjadi, misalnya, jika Anda mengkloning versi dari satu saluran ke saluran lain dalam situs yang sama ).

Hosting mendukung dua cara berbeda untuk menghapus saluran pratinjau:

  • Konsol Firebase
    Di baris saluran pratinjau, klik , lalu pilih Hapus saluran . Konfirmasikan penghapusan.

  • Firebase CLI
    Jalankan perintah berikut dari direktori mana saja:

    firebase hosting:channel:delete CHANNEL_ID

Perintah CLI untuk saluran pratinjau dan kloning

Perintah untuk saluran pratinjau

Semua perintah untuk saluran pratinjau mendukung target penerapan jika Anda memiliki beberapa situs Hosting .

Memerintah Keterangan
firebase hosting:channel:create CHANNEL_ID

Membuat saluran pratinjau baru di situs Hosting default menggunakan CHANNEL_ID yang ditentukan

Perintah ini tidak disebarkan ke saluran.

firebase hosting:channel:delete CHANNEL_ID

Menghapus saluran pratinjau yang ditentukan

Anda tidak dapat menghapus saluran langsung situs.

firebase hosting:channel:deploy CHANNEL_ID

Men-deploy konten dan konfigurasi Hosting Anda ke saluran pratinjau yang ditentukan

Jika saluran pratinjau belum ada, perintah ini membuat saluran di situs Hosting default sebelum diterapkan ke saluran tersebut.

firebase hosting:channel:list Mencantumkan semua saluran (termasuk saluran "langsung") di situs Hosting default
firebase hosting:channel:open CHANNEL_ID Membuka browser ke URL saluran yang ditentukan atau mengembalikan URL jika membuka di browser tidak memungkinkan

Perintah untuk kloning versi

Memerintah Keterangan
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Mengkloning versi yang paling baru diterapkan pada saluran "sumber" yang ditentukan ke saluran "target" yang ditentukan

Perintah ini juga diterapkan ke saluran "target" yang ditentukan. Jika saluran "target" belum ada, perintah ini akan membuat saluran pratinjau baru di situs Hosting "target" sebelum diterapkan ke saluran tersebut.

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Mengkloning versi yang ditentukan ke saluran "target" yang ditentukan

Perintah ini juga diterapkan ke saluran "target" yang ditentukan. Jika saluran "target" belum ada, perintah ini akan membuat saluran pratinjau baru di situs Hosting "target" sebelum diterapkan ke saluran tersebut.

Anda dapat menemukan VERSION_ID di dasbor Hosting konsol Firebase.