Public | Automated Build

Last pushed: a year ago
Short Description
Short description is empty for this repo.
Full Description

Jekyllbuilder Dockerfile

This repository contains a daemon that will continuously listen for
Git push events and rebuild a Jekyll site
whenever the corresponding Git repository is updated.

The notifications of Git updates are expected to come from an
AMQP server (e.g RabbitMQ). These messages can
be generated from a post-receive hook in the Git repositories. I am
using Gitolite which allows one to define a default
post-receive hook. See the post-receive in
jonls/amqp-post-receive for an example.

When an update to the Git repository is detected it is cloned and
Jekyll is used to generate the final site. The clone is done from
a local repository in /git. The final site is generated in /www.

Usage

$ docker run -d --link rabbitmq:amqp \
      -e "JEKYLL_REPO=<jekyll-website-repo-name>" \
      -v <www-dest>:/www \
      -v <local-git-repos>:/git:ro \
      jonls/jekyllbuilder

The rabbitmq would be another container running RabbitMQ with the port
5672 exposed. A prebuilt rabbitmq container can be found in the Docker
Hub Registry
.

ToDo

  • Listen for multiple Git repositories
  • Specify destination for each build
  • Specify Git branch to build
  • Optionally clone public remote repository instead of local
Docker Pull Command
Owner
jonls
Source Repository

Comments (0)