GridGiant

Dropbox, Jekyll and a Build Server

  • web@gridgiant.co.uk
  • @gridgiant

Dropbox, Jekyll and a Build Server

02 Jun 2015

In a continuation of the previous post I detail how to integrate Dropbox hosted content into the build-server.

The State of Affairs

Currently the build server is gather images from an elected Dropbox folder and the processing them before moving them onto the live web sever for use as assets. In this post we will expand the build servers role to also included building the web site and uploading the whole site to the web server.

Dropbox Setup

Within the Dropbox folder on the build server we need to create a folder that will contain the website content. I tend to use the following structure,

  • sitecontent
  • drafts
  • pages
  • posts
  • data

The sitecontent folder can there be shared via the Dropbox website with any user who requires the ability to write content to the site. You will notice that the image folder setup in the previous post is not included here, that is intentional as large images are best kept out of the version control which is otherwise ideal for the site content.

Build Server File Setup

Finally we need to symbolically link (using ln -s) the Dropbox site content sub folders into the build directory of the build server. Obviously the drafts folder need not be linked into the build folder.

By symbolically linking the content out of the Dropbox folder rather than moving or copying it we keep a copy of the site content version-ed and backed up in Dropbox.

Summary

The good - Placing the content of the site within a Dropbox folder offers us easy content sharing, versioning and backup in a simple to use, device and platform agnostic manner. It also grants us mobile device editing of our Jekyll static site.

The problems - An authorised user can easily steal all the site content, if they wish.