Continuous integration and deployment for your resume

Continuous integration and deployment for your resume

I use Pandoc to maintain my resume with markdown in a tiny git repository. Recently I setup Continuous Integration and Deployment via Travis CI to build it as a PDF and push it to GitHub pages.

Assuming you've got a in a repository on GitHub that's watched by Travis CI all you need to do is add a .travis.yml describing what to do when a new commit is pushed to the origin.

Continuous Integration

First let Travis CI know we don't need ruby:

language: generic

Then let it know we need an OSX virtual machine:

os: osx

Install pandoc and basictex via homebrew:

  - brew update
  - brew install pandoc
  - brew cask install basictex

Add the texbin executable to the virtual machine PATH:

  - export PATH="/Library/TeX/texbin:$PATH"

Then build the PDF (see the makefile commands here):

  - make resume.pdf

Continuous Deployment

Generate a GitHub personal access token with the public_repo scope and add it as an environment variable named GITHUB_TOKEN via the Travis CI interface.

Then use the pages provider to push the PDF to the gh-pages branch on GitHub:

  provider: pages
  skip-cleanup: true
  github-token: $GITHUB_TOKEN
  file: "resume.pdf"
    branch: master

Checkout the entire configuration file here.

Show Comments