From c8e86336393c79bb22479336aaec911f9c8a959e Mon Sep 17 00:00:00 2001 From: Tim Byrne Date: Thu, 17 Oct 2019 23:50:15 -0500 Subject: [PATCH] Use docker volume for jekyll dependencies Using a volume allows "caching" the bundled dependencies for jekyll. Created a "fresh" target for also removing volumes. --- .travis.yml | 2 +- Makefile | 10 +++++++++- docker-compose.yml | 5 ++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 97f0176..d4afe33 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ --- env: - - IMAGE="yadm/jekyll:latest" + - IMAGE="yadm/jekyll:2019-10-17" language: minimal services: - docker diff --git a/Makefile b/Makefile index 3654b07..edff811 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ IGNORED = .jekyll-metadata Gemfile.lock _site +VOLUME_ARG = .PHONY: all all: @@ -37,6 +38,9 @@ usage: @echo ' make clean' @echo ' - Remove previously built data and any jekyll containers.' @echo + @echo ' make fresh' + @echo ' - Like "make clean", but also removes the docker volumes.' + @echo .PHONY: test test: require-docker-compose clean @@ -62,12 +66,16 @@ restart: require-docker-compose .PHONY: down down: require-docker-compose - docker-compose down --remove-orphans + docker-compose down --remove-orphans ${VOLUME_ARG} .PHONY: clean clean: down rm -rf ${IGNORED} +.PHONY: fresh +fresh: VOLUME_ARG = -v +fresh: clean + .PHONY: require-docker-compose require-docker-compose: require-docker @if ! command -v "docker-compose" >/dev/null 2>&1; then \ diff --git a/docker-compose.yml b/docker-compose.yml index 87cfc6e..bf2b0e0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,9 +2,12 @@ version: '3' services: website: - image: yadm/jekyll:latest + image: yadm/jekyll:2019-10-17 ports: - 4000:4000 volumes: - .:/srv/jekyll + - jekyll-bundle:/usr/local/bundle command: jekyll serve --config _config.yml,_dev.yml -t --watch --incremental +volumes: + jekyll-bundle: