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.
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:
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 .
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, danw
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.
- Untuk saluran langsung, gunakan
Saat Anda menggandakan versi dari satu saluran ke saluran lain di situs Hosting yang sama , Firebase akan membuat objek rilis baru yang menunjuk ke versi yang sama persis . Anda akan melihat dua rilis di situs Hosting Anda yang mengarah ke versi yang sama (seperti yang diidentifikasi oleh ID versi).
Namun, jika Anda menggandakan versi ke saluran di situs Hosting yang berbeda (atau proyek Firebase yang berbeda), Firebase akan membuat rilis baru dan versi baru (seperti yang diidentifikasi oleh ID versi yang berbeda).
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:
Di konsol Firebase , di tabel Riwayat Rilis untuk situs Anda, arahkan kursor ke entri rilis sebelumnya yang ingin Anda kembalikan.
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:
Di konsol Firebase , di tabel Riwayat Rilis untuk situs Anda, arahkan kursor ke entri rilis sebelumnya yang ingin Anda hapus.
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 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 \ | 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 \ | 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 |