Re-add Makefile and Docker workflows

This commit is contained in:
Shane Engelman 2023-01-24 14:51:59 -06:00
parent 601425d588
commit 1cbec02b73
Signed by: shane
GPG Key ID: D9DF703B83B9A9B5
4 changed files with 70 additions and 21 deletions

22
Dockerfile Normal file
View File

@ -0,0 +1,22 @@
FROM ruby:3.2.2-alpine AS builder
RUN apk update && apk add g++ make git git-lfs
RUN mkdir -p /home
COPY Gemfile /home
#COPY Gemfile.lock /home
COPY _vendor /home/_vendor
WORKDIR /home
RUN bundle install
FROM ruby:3.2.2-alpine
RUN apk update && apk add git
COPY --from=builder /usr/local/bundle /usr/local/bundle
RUN mkdir -p /home
WORKDIR /home
CMD ["jekyll", "serve", "--host", "0.0.0.0"]

View File

@ -8,20 +8,21 @@ PATH
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
addressable (2.8.1) addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0) public_suffix (>= 2.0.2, < 6.0)
colorator (1.1.0) colorator (1.1.0)
concurrent-ruby (1.1.6) concurrent-ruby (1.2.2)
em-websocket (0.5.1) em-websocket (0.5.3)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0) http_parser.rb (~> 0)
eventmachine (1.3.0.dev.1) eventmachine (1.2.7)
ffi (1.15.5) ffi (1.15.5)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
http_parser.rb (0.6.0) google-protobuf (3.23.4-x86_64-linux)
i18n (1.10.0) http_parser.rb (0.8.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jekyll (4.3.1) jekyll (4.3.2)
addressable (~> 2.4) addressable (~> 2.4)
colorator (~> 1.0) colorator (~> 1.0)
em-websocket (~> 0.5) em-websocket (~> 0.5)
@ -30,14 +31,15 @@ GEM
jekyll-watch (~> 2.0) jekyll-watch (~> 2.0)
kramdown (~> 2.3, >= 2.3.1) kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0) kramdown-parser-gfm (~> 1.0)
liquid (>= 4.0, < 6) liquid (~> 4.0)
mercenary (>= 0.3.6, < 0.5) mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9) pathutil (~> 0.9)
rouge (>= 3.0, < 5.0) rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0) terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7) webrick (~> 1.7)
jekyll-sass-converter (2.2.0) jekyll-sass-converter (3.0.0)
sassc (> 2.0.1, < 3.0) sass-embedded (~> 1.54)
jekyll-seo-tag (2.8.0) jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0) jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1) jekyll-watch (2.2.1)
@ -46,29 +48,32 @@ GEM
rexml rexml
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
liquid (5.4.0) liquid (4.0.4)
listen (3.7.0) listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0) mercenary (0.4.0)
pathutil (0.16.1) pathutil (0.16.2)
forwardable-extended (~> 2.6) forwardable-extended (~> 2.6)
public_suffix (4.0.6) public_suffix (5.0.3)
rb-fsevent (0.11.2)
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rexml (3.2.5) rexml (3.2.5)
rouge (3.30.0) rouge (4.1.2)
sassc (2.4.0) safe_yaml (1.0.5)
ffi (~> 1.9) sass-embedded (1.64.1-x86_64-linux-musl)
google-protobuf (~> 3.23)
terminal-table (3.0.2) terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3) unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (1.6.1) unicode-display_width (2.4.2)
webrick (1.8.1) webrick (1.8.1)
PLATFORMS PLATFORMS
ruby x86_64-linux-musl
DEPENDENCIES DEPENDENCIES
jekyll-theme-console! jekyll-theme-console!
BUNDLED WITH BUNDLED WITH
2.3.15 2.4.10

17
Makefile Normal file
View File

@ -0,0 +1,17 @@
.PHONY: build
build:
# Build Docker image
docker build -t distrust-co .
# Export site to _site directory
docker run -v $(shell pwd):/home -it distrust-co jekyll build
.PHONY: serve
serve:
# Run Docker container with listener for current dir and port mapping
docker run -v $(shell pwd):/home -p 0.0.0.0:4000:4000 -it distrust-co
.PHONY: clean
clean:
# Remove _site directory
rm -rf _site

View File

@ -4,6 +4,11 @@ Web page source.
## Instructions ## Instructions
0. If the repo was not cloned with submodules:
```shell
$ git submodule update --init --recursive
```
1. Install `make`. 1. Install `make`.
2. Install `docker` 2. Install `docker`
3. Build (export) site to `_site` directory: 3. Build (export) site to `_site` directory: