Deploy Your Jekyll Site to Github Pages With Travis CI for Free
I’ve been using Jekyll for my blog for quite some time now. I have also had the
deployment of it automated for just about as long. While doing some revamping
and adding a new post a few weeks ago, I decided to update my deploy script I
had written for Travis CI. I was looking through the docs for Travis and low and
behold they have added the ability to deploy to Github pages with their dpl
tool. The way I was doing it worked well, but Travis dpl makes it dead simple,
and it can all be configured from a .travis.yml
file in your project. Now my
blog publishing work flow goes like this. Write a post in my source branch of my
danielnolan.github.com repository. Commit the new post and push the source
branch to Github. Travis is configured to kick off a build when new code is
committed to the source branch on Github. Travis runs my default rake task for my
jekyll project which generates the static html for my blog and then lints it using
htmlproofer. If html-proofer doesn’t report any errors Travis deploys my
generated html site to the master branch of danielnolan.github.com. If errors
are reported by html-proofer the build fails and my site is not deployed.
The best part about all of this is I’m able to host my site on Github pages and
use Travis to deploy it because my blog code is open source, and lives in a
public repository on Github.