Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

README.md

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

About

Docker container for automatically rebuilding a Jekyll sites

Resources

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.