automated hugo

Inspired by Evan Brown’s post Hugo on the go I decided to follow pretty much the same route — with a couple of twists.

In a nutshell Evan has set up a continuous integration chain for his hugo based website. The workflow is as follows:

  • create the new hugo post on whatever device you want
  • commit the post and push to github
  • github triggers the continuous integration service travis
  • travis regenerates the static web site
  • travis deploys the static web site

Where Evan is using github, travis, and S3 I wanted to go the self-hosted route. So,

  • instead of github I’m using a self-hosted, dockerized gitea instance to host my git repos
  • instead of travis I’m using a self-hosted, dockerized drone instance for the continuous integration part
  • instead of S3 I’m deploying to my own web server.

The workflow then looks like this:

gitea β€” drone β€” hugo workflow

For editing and creating new posts I do use Working Copy — same as Evan is.