I finally took the time to ditch my old WordPress blog and start fresh with a hip, new blogging engine powered by Markdown. Why make it easy on myself to simply install a new blog and put it on some server, when I could decide to learn continuous integration/deployment in the process.
I made this blog using everything I’m about to describe, so feel free to jump straight into the source.
- Jekyll - Static Website Generator
- GitHub - Source Control
- Travis CI - Continuous Integration and Deployment
- Html Proofer - Validate Static files
- NearlyFreeSpeech - Web Host
NearlyFreeSpeech is a great, low cost web host that I tend to use for any small scale personal projects. You can host a static site, like a Jekyll blog, for extremely cheap.
Jekyll is a static website generator powered by Ruby. Customizable and easy to set up, supports Markdown and get’s your blog into version control.
Jekyll has some great docs that can help you get your blog up and running.
Travis CI and HTML-Proofer
Travis CI is a continuous integration platform that makes it easy to build, test and deploy whenever changes are pushed to GitHub. The
cibuild script will use html-proofer to check the
_site folder for any errors, such as dead links.
html-proofer to the
Create a Ruby script at
rsync to deploy my
_site folder to my NearlyFreeSpeech
To keep ssh keys and
Rakefile settings out of the repo, zip them together and then encrypt them so TravisCI can decrypt them.
First login to
Zip the files and encrypt them
Make sure to add any encrypted files to
- Create a blog with the
jekyllcommand line constructer.
- Add blog content and add it to a git repo.
- Signup for Travis CI and enable the blog repo on GitHub.
- Add a
- Create a script for
Rakefilewith NearlyFreeSpeech username
- Create an ssh key and add the public key to the NearlyFreeSpeech blog.
- Add and commit all the changes.
- Push the branch to GitHub and let Travis CI take care of testing and deploying.
Now you can brag about build passing like all the cook kids.
But kidding aside, if you’re at all new to continuous integration/deployment this is a great way to get your feet wet.