Deploy to Firebase Hosting from GitHub

Follow the steps to deploy to Firebase hosting from GitHub via Travis CI

This is the detailed version of https://www.youtube.com/watch?v=QLVzozWDYAs.

We will the setup the below flow.

Apps are developed on local developer machines
Pushed to GitHub
Travis CI deploys the app to Firebase Hosting from GitHub

I assume that you have:

Basic understanding of Firebase
Installed node
Installed firebase tools
Installed Git

Lets Start!

Setting up GitHub

Login to GitHub
Create a new repository

Open command prompt, Navigate to your working directory

cd yourdirectory

clone the repository to the directory

git clone repositoryname.git

Setting up Firebase

Login to Firebase, Go to Firebase console

Add a new project

come back to the command line

Login to your account

firebase login

Initialise firebase app

firebase init

choose a project

Type yes to Install the dependencies

Continue…

To integrate with Travis CI, we would need Firebase token.

Type in command line

firebase login:ci

This will open up a browser to sign in once more

Copy the token, we will need this for Travis CI

Create .travis.yml file in the root of the project, and paste the following in file

Make sure you replace projectId with the actual projectId, which can be found in the firebase console

projectId can be found in Firebase console

Setting Up Travis CI

Login to travis-ci.org

Click on signin with GitHub

Click on “+” sign next to my repositories

All the GitHub projects will be listed.
If not visible click on “Sync Account”

Next to the Repository name click on “x” button to flip the switch

Now click the gear icon before the repository.

Under “Environment Variables” add 
“FIREBASE_TOKEN” and the previously generated token via firebase login:ci
This will help Travis CI to deploy to Firebase Hosting

Come back to command line, and do a git push to the GitHub repo

git add .

git commit -m “commit message”

git push origin master

After these three the code gets pushed to GitHub, from there Travis CI starts the process, Ideally you would run the tests in Travis CI, for simplicity of the setup , there are no running tests.

Thats it !! The app is deployed to Firebase Hosting.