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 initcommand.- 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 - yamlconfiguration 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 - yamlfiles 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
- Firebase maintains the "Deploy to Firebase Hosting" GitHub Action as an open-source project. View the source code. 
- The "Deploy to Firebase Hosting" GitHub Action allows for further configuration, like customizing the expiry date for a preview channel or setting a non-live channel to deploy to when a PR is merged. Learn about the available configuration options. 
- Learn more about GitHub Actions, in general.