Apa itu Firebase
Firebase adalah platform pengembangan aplikasi yang disediakan oleh Google. Platform ini menyediakan berbagai layanan seperti autentikasi, database real-time, analitik, dan penyimpanan file, yang semuanya dapat diintegrasikan dengan mudah ke dalam aplikasi web atau seluler. Dengan Firebase, pengembang dapat fokus pada logika aplikasi tanpa harus khawatir tentang infrastruktur backend.
Pada tutorial ini kita akan fokus ke firebase hosting, yaitu layanan hosting statis yang cepat dan aman untuk aplikasi web modern. Firebase Hosting memungkinkan penyebaran situs web dengan satu perintah, mendukung HTTPS secara default, dan menyediakan caching CDN global untuk memastikan performa optimal. Firebase Hosting sangat cocok untuk situs web statis, Progressive Web Apps (PWA), dan aplikasi berbasis framework seperti React, Angular, atau Hugo.
Sebelum melanjutkan, pastikan sudah memiliki akun Firebase. Jika belum, silakan buat akun di Firebase Console. Setelah itu, ikuti langkah-langkah berikut untuk mempublikasikan website Hugo ke Firebase Hosting.
Langkah-langkah Publikasi Website Hugo ke Firebase
1. Install Node.JS
- Pastikan sudah menginstal Node.js. Jika belum, silakan unduh dan instal dari Node.js.
Node.js adalah runtime JavaScript yang memungkinkan kita menjalankan JavaScript di luar browser.Install nodejs di Windows
- Unduh installer Node.js dari nodejs.org.
- Jalankan installer dan ikuti petunjuk instalasi.
- Pastikan untuk mencentang opsi
Add to PATH
saat instalasi.
Install nodejs di Linux menggunakan NVM
- Buka terminal dan jalankan perintah berikut untuk menginstal NVM (Node Version Manager):
Terminal window curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash - Setelah itu, jalankan perintah berikut untuk memuat NVM ke dalam shell:
Terminal window export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Loads nvm[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # Loads nvm bash_completionInstall NVM - Buka terminal dan jalankan perintah berikut untuk menginstal Node.js menggunakan Homebrew:
Terminal window brew install node - Setelah instalasi selesai, verifikasi apakah Node.js telah terpasang dengan benar. Jalankan perintah berikut:
Terminal window node -vnpm -vNode & NPM Version
2. Install Firebase CLI
- Setelah Node.js terinstal, kita perlu menginstal Firebase CLI (Command Line Interface) untuk mengelola proyek Firebase dari terminal. Jalankan perintah berikut:
npm install -g firebase-tools
Pada gambar dibawah menggunakan pnpm
tetapi sama saja dengan npm
atau
yarn
.

- Setelah instalasi selesai, verifikasi apakah Firebase CLI telah terpasang dengan benar. Jalankan perintah berikut:
firebase --version

3. Login ke Firebase
- Setelah Firebase CLI terinstal, kita perlu login ke akun Firebase kita. Jalankan perintah berikut:
firebase login
Nanti akan muncul pilihan Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?
(Y/n) cukup pilih n
saja.

- Setelah itu, ikuti petunjuk di terminal untuk menyelesaikan proses login. Ini akan membuka jendela browser untuk mengautentikasi akun Firebase kita.

4. Buat Proyek Firebase
Firebase Init
- Setelah login, kita perlu membuat proyek Firebase baru. Jalankan perintah berikut:
firebase init
Perintah ini akan memulai proses konfigurasi Firebase Hosting.
- Pilih menu
Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys
- Pilih proyek Firebase yang sudah ada atau buat proyek baru.
- Pilih opsi
Use an existing project
jika sudah memiliki proyek Firebase, atau pilihCreate a new project
untuk membuat proyek baru. - Pilih opsi
Public directory
dan masukkan nama direktori output Hugo, default direktori output Hugo adalahpublic
. - Pilih opsi
Configure as a single-page app (rewrite all urls to /index.html)
pilihNo
. - Pilih opsi
Set up automatic builds and deploys with GitHub? (Y/n)
pilihNo
. - Pilih opsi
Overwrite index.html? (Y/n)
jika ingin menimpa fileindex.html
pilihNo
. - Setelah itu, Firebase akan membuat file konfigurasi
firebase.json
dan.firebaserc
di direktori proyek kita. Filefirebase.json
berisi konfigurasi untuk Firebase Hosting, sedangkan.firebaserc
berisi informasi proyek Firebase kita. Pastikan untuk memeriksa dan mengedit file ini sesuai kebutuhan.
{ "hosting": { "public": "public", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [], "redirects": [], "headers": [] }}
public
: direktori output Hugo yang berisi file statis website kita.
ignore
: daftar file dan direktori yang akan diabaikan saat proses deploy.
rewrites
: daftar aturan untuk mengalihkan URL ke file tertentu.
redirects
: daftar aturan untuk mengalihkan URL ke URL lain.
headers
: daftar aturan untuk menambahkan header HTTP ke respons.
Untuk full konfigurasi silakan lihat dokumentasi Firebase Hosting.
5. Build Website Hugo
- Setelah konfigurasi selesai, kita perlu membangun (build) website Hugo kita. Jalankan perintah berikut:
hugo
- Perintah ini akan menghasilkan file statis website kita di dalam direktori
public
. - Setelah proses build selesai, kita dapat memeriksa hasilnya dengan membuka file
index.html
di dalam direktoripublic
menggunakan browser. - Jika website sudah sesuai, kita siap untuk mempublikasikannya ke Firebase Hosting.
6. Deploy ke Firebase Hosting
- Setelah website sudah siap, kita dapat mempublikasikannya ke Firebase Hosting. Jalankan perintah berikut:
firebase deploy
- Setelah proses deploy selesai, Firebase akan memberikan URL untuk mengakses website kita. URL ini biasanya berbentuk
https://<project-id>.web.app
atauhttps://<project-id>.firebaseapp.com
. - Buka URL tersebut di browser untuk melihat website kita yang sudah dipublikasikan.
Jika ingin mengupdate website, cukup lakukan perubahan pada konten website, lalu jalankan perintah
hugo
danfirebase deploy
lagi.
7. Konfigurasi Hugo
Setelah mendapat Hosting URL, edit file hugo.toml dan ubah baseURL dengan Hosting URL yang didapat sebelumnya
- Edit file
hugo.toml
di root folder proyek Hugo kita
baseURL = "https://<project-id>.web.app/"languageCode = "en-us"title = "Eza"theme = "PaperMod"
- Build kembali situs hugo dengan perintah hugo
- Unggah folder
public
dengan perintahfirebase deploy
- Setelah itu, kita dapat mengakses website kita di URL
https://<project-id>.web.app/
.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, kita telah berhasil mempublikasikan website Hugo ke Firebase Hosting. Firebase Hosting adalah solusi yang cepat dan aman untuk menyebarkan aplikasi web statis. Dengan Firebase, kita dapat dengan mudah mengelola dan memperbarui website kita kapan saja. Jika ada pertanyaan atau masalah, jangan ragu untuk menghubungi saya melalui kolom komentar di bawah ini.