You can integrate deploys to Firebase Hosting via a GitHub Action. Here's
what this GitHub Action can do for you:
Creates a new preview channel (and its associated preview URL) for every PR on
your GitHub repository.
Adds a comment to the PR with the preview URL
so that you and each reviewer can view and test the PR's changes in a
"preview" version of your app.
Updates the preview URL with changes from each commit by automatically
deploying to the associated preview channel. The URL doesn't change with each
new commit.
(Optional)
Deploys the current state of your GitHub repo to your live
channel when the PR is merged.
Reminder: When using preview URLs, your app interacts with the
real
backend
resources of your Firebase project.
Set up the GitHub Action to deploy to Firebase Hosting
Create a GitHub repository (public or private) or use an existing one. You
must have admin permissions for the repository.
In a local version of your repo, set up Firebase Hosting using the
firebase init
command
.
If you've NOT set up Hosting, run this version of the command
from the root of your local directory:
firebase init hosting
If you've ALREADY set up Hosting, then you just need to set up the
GitHub Action part of Hosting. Run this version of the command from
the root of your local directory:
firebase init hosting:github
Follow the CLI prompts, and the command will automatically take care of
setting up the GitHub Action:
Creates a service account in your Firebase project with permission to
deploy to Firebase Hosting.
Encrypts that service account's JSON key and uploads it to the specified
GitHub repository as a
GitHub secret
.
Writes GitHub workflow
yaml
configuration files that reference the
newly created secret. These files configure the GitHub Action to deploy to
Firebase Hosting.
In GitHub, create a new branch and commit the workflow
yaml
files created
by the CLI.
Publish the branch to your GitHub repository.
Merge the branch.
That's it! Any subsequent PR in this GitHub repo will automatically get its own
"preview URL"!
Learn more about the GitHub Action