refactor use of docker
authorFrançois Michonneau <francois.michonneau@gmail.com>
Wed, 11 Dec 2019 20:06:25 +0000 (15:06 -0500)
committerFrançois Michonneau <francois.michonneau@gmail.com>
Fri, 13 Dec 2019 17:21:57 +0000 (12:21 -0500)
Co-authored-by: Allen Lee <allen.lee@asu.edu>
.gitignore
Makefile
bin/boilerplate/_config.yml
bin/run-make-docker-serve.sh [new file with mode: 0755]

index 2f3299efe9ad8d90bf9b3dc89f8d08753e4b3d15..1aec1b612ce683366f5fae8f837b77f6e63ff491 100644 (file)
@@ -10,4 +10,5 @@ _site
 .Rhistory
 .RData
 .vendor/
+.docker-vendor/
 Gemfile.lock
\ No newline at end of file
index 124e397b49988c93baafbcd747d072b2681ce2f1..1fdc5d2ee9931a92637669a9ab42103ea93756d9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,6 @@
 # Settings
 MAKEFILES=Makefile $(wildcard *.mk)
 JEKYLL_VERSION=3.8.5
-JEKYLL_DOCKER=${JEKYLL} serve --host 0.0.0.0
 JEKYLL=bundle install --path .vendor/bundle && bundle update && bundle exec jekyll
 PARSER=bin/markdown_ast.rb
 DST=_site
@@ -44,7 +43,11 @@ commands :
 
 ## docker-serve     : use docker to build the site
 docker-serve :
-       docker run --rm -it -v ${PWD}:/srv/jekyll -p 4000:4000 jekyll/jekyll:${JEKYLL_VERSION} ${JEKYLL_DOCKER}
+       docker run --rm -it --volume ${PWD}:/srv/jekyll \
+           --volume=${PWD}/.docker-vendor/bundle:/usr/local/bundle \
+           -p 127.0.0.1:4000:4000 \
+           jekyll/jekyll:${JEKYLL_VERSION} \
+           bin/run-make-docker-serve.sh
 
 ## serve            : run a local server.
 serve : lesson-md
index a1b32fe469d69a52feda6eb746934ed924989635..f5067e55ed1f3ae2ba373dc35f407f5619352eb4 100644 (file)
@@ -92,6 +92,7 @@ exclude:
   - bin/
   - .Rproj.user/
   - .vendor/
+  - .docker-vendor/
 
 # Turn on built-in syntax highlighting.
 highlighter: rouge
diff --git a/bin/run-make-docker-serve.sh b/bin/run-make-docker-serve.sh
new file mode 100755 (executable)
index 0000000..1e09178
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+set -o errexit
+set -o pipefail
+set -o nounset
+
+
+bundle install
+bundle update
+exec bundle exec jekyll serve --host 0.0.0.0