Bergabunglah dengan kami secara langsung dan online di Firebase Summit pada 18 Oktober 2022. Pelajari cara Firebase dapat membantu Anda mempercepat pengembangan aplikasi, merilis aplikasi dengan percaya diri, dan menyesuaikan skala dengan mudah. Daftar sekarang

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

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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

Ikhtisar 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 (basis data, 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) semua domain khusus yang terhubung . Anda juga dapat secara opsional membuat saluran "pratinjau" yang menyajikan 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 pengenal unik. Saat Anda menerapkan ke situs Anda, Firebase membuat objek rilis yang mengarah ke versi tertentu. Rilis berisi metadata tentang penerapan, seperti siapa yang di-deploy dan kapan mereka di-deploy.

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 pengaturannya. Beberapa setelan, seperti kedaluwarsa saluran, hanya berlaku untuk saluran pratinjau.

Batasi jumlah rilis yang harus 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 situs sebelumnya, jika diperlukan. Untuk saluran pratinjau Anda, roll back belum tersedia.

  • Mengapa membatasi jumlah rilis yang harus 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 ketika Anda membatasi rilis untuk disimpan?
    Saat Anda menetapkan batas untuk mempertahankan rilis, konten rilis apa pun yang melebihi batas yang Anda tetapkan dijadwalkan untuk dihapus, dimulai dengan rilis terlama terlebih dahulu .

Berikut cara menyetel batas penyimpanan rilis untuk saluran:

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

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

    • Untuk saluran pratinjau apa pun
      Di baris saluran pratinjau, klik , lalu pilih Setelan saluran .

  2. Masukkan jumlah rilis yang ingin Anda simpan, lalu klik Simpan .

Setel 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, bersama dengan rilis dan versi terkaitnya, dijadwalkan untuk dihapus dalam waktu 24 jam. URL pratinjau terkait juga dinonaktifkan. Pengecualian untuk penghapusan versi ini adalah jika sebuah versi dikaitkan dengan rilis lain (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 Setelan saluran . Masukkan tanggal dan waktu untuk kedaluwarsa.

  • Firebase CLI
    Saat Anda menerapkan 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).

Mengkloning versi dari satu saluran ke saluran lainnya

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

Perintah kloning juga disebarkan 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 yang tepat yang telah Anda lihat dan/atau uji di saluran lain. Berikut beberapa contohnya:

  • Klon dari saluran pratinjau "QA" ke saluran langsung situs Anda (akan ditayangkan!)

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

  • Klon dari saluran di proyek Firebase "pementasan" Anda ke saluran pratinjau di proyek Firebase "prod" Anda

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

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 ID proyek 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 pengidentifikasi untuk saluran.

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

Kembali 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 mengalami masalah dan Anda ingin melakukan roll back untuk menayangkan versi kerja situs Anda yang diketahui. 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 Anda, kedua rilis akan mencantumkan pengidentifikasi versi yang sama.

Berikut cara memutar kembali:

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

  2. Klik , lalu pilih Roll back .

Hapus rilis secara manual

Anda mungkin perlu menghapus rilis secara manual dari saluran langsung 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 di-deploy dan kapan mereka di-deploy).

Berikut cara menghapus rilis:

  1. Di Firebase console , 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 rilis dan versi terkaitnya, dijadwalkan untuk dihapus dalam waktu 24 jam. URL pratinjau terkait juga dinonaktifkan. Pengecualian untuk penghapusan versi adalah jika sebuah versi dikaitkan dengan rilis lain (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 . Konfirmasi penghapusan.

  • Firebase CLI
    Jalankan perintah berikut dari direktori mana pun:

    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 diterapkan 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

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

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 digunakan pada saluran "sumber" yang ditentukan ke saluran "target" yang ditentukan

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

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 disebarkan ke saluran "target" yang ditentukan. Jika saluran "target" belum ada, perintah ini membuat saluran pratinjau baru di situs Hosting "target" sebelum diterapkan ke saluran.

Anda dapat menemukan VERSION_ID di dasbor Hosting Firebase console.