As I have started this site, it was build by a custom hook installed right in the bare git repository. Hook itself was linked to another repository which also could self-delpoy with custom hooks. Yes, hacking is fun, but when you are trying to update the site and suddenly Ruby cannot install any gem, throws randomly stacktraces at you, then you try to find another way to build.

And there is one:

Gitlab CI

Gitlab CI 8.9 adds templates for .gitlab-ci.yml. I have just taken jekyll template and altered build directory. Of course gitlab-ci-runner has to have access to build directory.

Gitlab CI Runner with Docker

This worked like a charm: jekyll was easely installed within ruby:2.3 image and site is build. I can even distinct what environment I using. Though one now.

So this very post is rendered by Gitlab CI without any custom hooks and tricks!