Intro
Last night I had another multi million dollar web app idea. So of course first thing I do in the morning is start to work on my idea. Got to earn those dollars.
The first thing I need is some place on the internet where my customers can start handing me over their money. I want to move fast, so each time I change something I want to see the results immediately.
Enablers
Firebase is a platform by Google that provides hosting with minimal effort and for free. Travis is a hosted continuous integration solution that will allow me to deploy my changes to Firebase. GitHub is the place where I’ll be storing my precious code.
To build this stuff I installed Node.js and Docker on my laptop. I didn’t really need Docker but I did not feel like installing Ruby.
Let’s go to work
- Go to Firebase and create a new project.
- Create a new repository on GitHub.
- Clone the repository locally.
- Create a minimal index.html.
mkdir public
touch public/index.html
- Connect GitHub repository to Firebase project using the Firebase tools. Don’t overwrite index.html when initializing.
npm install -g firebase-tools
firebase login
firebase init
- Generate a Firebase CI token (and keep it handy).
firebase login:ci
- Go to Travis and activate the GitHub repository.
- Encrypt the Firebase CI token using Travis CLI.
# only run the docker command if you don't have and don't want to install Ruby
docker run -it --rm ruby:latest bash
gem install travis
travis encrypt "1/firebase_CI_token" -r githubusername/reponame
- Create a .travis.yml file to deploy to Firebase after every push to GitHub.
language: node_js
node_js:
- "node"
script:
-
deploy:
provider: firebase
token:
secure: "encrypted_firebase_CI_token"
- Commit and push the changes to GitHub.
- Watch Travis build and deploy.
- Check Firebase Hosting to see the deployment history.
- Go to the Firebase Hosting domain for the project to see the website.
Conclusion
I just spent half a day on writing a guide on continuously deploying a website to Firebase using Travis CI and I didn’t start working on my multi million dollar idea.
Find the code on GitHub.
See the website here.
Top comments (0)