Jika Anda membangun aplikasi Angular atau Next.js yang dirender server, lihat
Firebase App Hosting generasi berikutnya, sebuah solusi full stack untuk framework web modern.
Melakukan deployment ke saluran live & pratinjau melalui permintaan pull GitHub
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Anda dapat mengintegrasikan deployment ke Firebase Hosting melalui GitHub Action. Berikut adalah kegunaan GitHub Action ini:
Membuat saluran pratinjau baru (dan URL pratinjau terkaitnya) untuk setiap permintaan pull yang ada di repositori GitHub.
Menambahkan komentar ke permintaan pull dengan URL pratinjau, sehingga Anda dan setiap peninjau dapat melihat dan menguji perubahan dalam permintaan pull dalam versi "pratinjau" aplikasi Anda.

Memperbarui URL pratinjau dengan perubahan dari setiap commit dengan otomatis melakukan deployment ke saluran pratinjau yang terkait. URL tidak berubah dengan setiap commit baru.
(Opsional) Men-deploy repo GitHub dalam statusnya saat ini ke saluran Anda saat permintaan pull digabungkan.
Pengingat: Saat menggunakan URL pratinjau, aplikasi Anda berinteraksi dengan resource backend sebenarnya dari project Firebase Anda.
Menyiapkan GitHub Action yang akan di-deploy ke Firebase Hosting
Buat repositori GitHub (publik atau pribadi) atau gunakan repositori yang ada. Anda harus memiliki izin admin untuk repositori ini.
Dalam versi lokal repo Anda, siapkan Firebase Hosting menggunakan perintah firebase init
.
Jika TIDAK menyiapkan Hosting, jalankan perintah versi ini dari root direktori lokal Anda:
firebase init hosting
Jika SUDAH menyiapkan Hosting, Anda hanya perlu menyiapkan bagian GitHub Action pada Hosting. Jalankan perintah versi ini dari root direktori lokal Anda:
firebase init hosting:github
Ikuti prompt CLI, dan perintah akan otomatis menangani penyiapan GitHub Action:
Membuat akun layanan di project Firebase Anda dengan izin untuk melakukan deployment ke Firebase Hosting.
Mengenkripsi kunci JSON akun layanan tersebut dan menguploadnya ke repositori GitHub yang ditentukan sebagai rahasia GitHub.
Menulis file konfigurasi yaml
alur kerja GitHub yang mereferensikan rahasia yang baru dibuat tersebut. File ini mengonfigurasi GitHub Action yang akan di-deploy ke Firebase Hosting.
Di GitHub, buat cabang baru dan commit file yaml
alur kerja yang dibuat oleh CLI.
Publikasikan cabang tersebut ke repositori GitHub Anda.
Gabungkan cabang.
Selesai! Semua permintaan pull berikutnya dalam repo GitHub ini akan otomatis mendapatkan "URL pratinjau"-nya sendiri.
Pelajari GitHub Action lebih lanjut
Firebase mengelola GitHub Action "Deploy to Firebase Hosting" sebagai project open source.
Lihat kode sumbernya.
GitHub Action "Deploy to Firebase Hosting" memungkinkan konfigurasi lebih lanjut, seperti menyesuaikan tanggal habis masa berlaku untuk saluran pratinjau atau menetapkan saluran non-live yang menjadi tujuan deployment saat permintaan pull digabungkan.
Pelajari opsi konfigurasi yang tersedia.
Pelajari lebih lanjut GitHub Action secara umum.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-29 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-29 UTC."],[],[],null,["\u003cbr /\u003e\n\nYou can integrate deploys to Firebase Hosting via a GitHub Action. Here's\nwhat this GitHub Action can do for you:\n\n- Creates a new preview channel (and its associated preview URL) for every PR on\n your GitHub repository.\n\n- Adds a comment to the PR with the preview URL\n so that you and each reviewer can view and test the PR's changes in a\n \"preview\" version of your app.\n\n- Updates the preview URL with changes from each commit by automatically\n deploying to the associated preview channel. The URL doesn't change with each\n new commit.\n\n- *(Optional)* Deploys the current state of your GitHub repo to your live\n channel when the PR is merged.\n\nReminder: When using preview URLs, your app interacts with the *real* backend\nresources of your Firebase project.\n\nSet up the GitHub Action to deploy to Firebase Hosting\n\n1. Create a GitHub repository (public or private) or use an existing one. You\n must have admin permissions for the repository.\n\n2. In a local version of your repo, set up Firebase Hosting using the\n [`firebase init` command](/docs/hosting/quickstart#initialize).\n\n - If you've NOT set up Hosting, run this version of the command\n from the root of your local directory:\n\n ```\n firebase init hosting\n ```\n - If you've ALREADY set up Hosting, then you just need to set up the\n GitHub Action part of Hosting. Run this version of the command from\n the root of your local directory:\n\n ```\n firebase init hosting:github\n ```\n3. Follow the CLI prompts, and the command will automatically take care of\n setting up the GitHub Action:\n\n - Creates a service account in your Firebase project with permission to\n deploy to Firebase Hosting.\n\n - Encrypts that service account's JSON key and uploads it to the specified\n GitHub repository as a\n [GitHub secret](//docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets).\n\n - Writes GitHub workflow `yaml` configuration files that reference the\n newly created secret. These files configure the GitHub Action to deploy to\n Firebase Hosting.\n\n4. In GitHub, create a new branch and commit the workflow `yaml` files created\n by the CLI.\n\n5. Publish the branch to your GitHub repository.\n\n6. Merge the branch.\n\nThat's it! Any subsequent PR in this GitHub repo will automatically get its own\n\"preview URL\"!\n\nLearn more about the GitHub Action\n\n- Firebase maintains the \"Deploy to Firebase Hosting\" GitHub Action as an\n open-source project.\n [View the source code.](//github.com/marketplace/actions/deploy-to-firebase-hosting)\n\n- The \"Deploy to Firebase Hosting\" GitHub Action allows for further\n configuration, like customizing the expiry date for a preview channel or\n setting a non-live channel to deploy to when a PR is merged.\n [Learn about the available configuration options.](//github.com/marketplace/actions/deploy-to-firebase-hosting#options)\n\n- Learn more about\n [GitHub Actions](//docs.github.com/en/free-pro-team@latest/actions),\n in general."]]