Compare commits

...

2 Commits

Author SHA1 Message Date
Jef Roosens 31ee1dae7f
Switched CI to building the Docker image
continuous-integration/drone the build was successful Details
2021-07-09 14:43:35 +02:00
Jef Roosens b1d1716fbd
Added Docker image config 2021-07-08 22:38:03 +02:00
4 changed files with 84 additions and 15 deletions

15
.dockerignore 100644
View File

@ -0,0 +1,15 @@
# By default, ignore everything
*
# Blog source
!archetypes/
!content/
!data/
!layouts/
!resources/
!static/
!themes/
!config.yaml
# Nginx config file
!nginx.conf

View File

@ -1,17 +1,27 @@
pipeline:
build:
image: alpine:3
commands:
- apk update
- apk add --no-cache hugo
- hugo --minify
# build:
# image: alpine:3
# commands:
# - apk update
# - apk add --no-cache hugo
# - hugo --minify
deploy:
image: alpine:3
commands:
- apk update
- apk add --no-cache rsync openssh-client
- eval $(ssh-agent)
- echo "$DEPLOY_KEY" | ssh-add -
- rsync -e "ssh -p $DEPLOY_PORT -o 'StrictHostKeyChecking=no'" -az --delete public/ "$DEPLOY_DEST"
secrets: [ deploy_key, deploy_port, deploy_dest ]
# deploy:
# image: alpine:3
# commands:
# - apk update
# - apk add --no-cache rsync openssh-client
# - eval $(ssh-agent)
# - echo "$DEPLOY_KEY" | ssh-add -
# - rsync -e "ssh -p $DEPLOY_PORT -o 'StrictHostKeyChecking=no'" -az --delete public/ "$DEPLOY_DEST"
# secrets: [ deploy_key, deploy_port, deploy_dest ]
publish:
image: plugins/docker
repo: chewingbever/blog
tag: [ latest ]
secrets:
- docker_username
- docker_password
when:
branch: master
event: push

18
Dockerfile 100644
View File

@ -0,0 +1,18 @@
FROM alpine:latest AS builder
WORKDIR /usr/src/app
# Install Hugo
RUN apk add --no-cache hugo
# Copy site files for building
COPY . ./
# Generate the site
RUN hugo --minify
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /usr/src/app/public /usr/share/nginx/html

26
nginx.conf 100644
View File

@ -0,0 +1,26 @@
worker_processes 1;
events {
worker_connections 1024;
}
http {
# https://stackoverflow.com/a/51360290/6483444
map $sent_http_content_type $expires {
default off;
text/html epoch;
text/css max;
application/javascript max;
~image/ max;
}
server {
server_name _;
listen 80;
root /usr/share/nginx/html;
index index.html;
include mime.types;
expires $expires;
}
}