Build static and use nginx instead of the full hugo server #8

Merged
allanger merged 3 commits from refs/pull/8/head into main 2023-02-17 14:48:20 +00:00
4 changed files with 38 additions and 21 deletions
Showing only changes of commit 0d1209904f - Show all commits

View File

@ -1,13 +1,17 @@
---
# ----------------------------------------------
# -- Build the site and push it to the registry
# ----------------------------------------------
kind: pipeline
type: kubernetes
name: Build badhouseplants.net
trigger:
branch:
- main
steps:
- name: Publish the Helm chart
when:
branch:
- main
image: alpine/helm
environment:
GITEA_TOKEN:
@ -18,19 +22,13 @@ steps:
- helm repo add --username allanger --password $GITEA_TOKEN allanger-charts https://git.badhouseplants.net/api/packages/allanger/helm
- helm cm-push "./chart-package/$(ls chart-package)" allanger-charts
- name: Init git submodules
- name: Init git submodules with themes
image: alpine/git
when:
branch:
- main
commands:
- git submodule update --init --recursive
- name: Get static content
image: rclone/rclone:latest
when:
branch:
- main
environment:
RCLONE_CONFIG_CONTENT:
from_secret: RCLONE_CONFIG_CONTENT
@ -40,9 +38,6 @@ steps:
- rclone copy -P badhouseplants-public:/badhouseplants-static static
- name: Build and push the docker image
when:
branch:
- main
image: plugins/docker
settings:
registry: git.badhouseplants.net
@ -56,12 +51,17 @@ steps:
- Get static content
---
# ----------------------------------------------
# -- Upload a newer version of my CV
# ----------------------------------------------
kind: pipeline
type: kubernetes
name: CV Builder
when:
trigger:
branch:
- main
steps:
- name: Build the CV
image: ghcr.io/puppeteer/puppeteer

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules
static
content/cv/index.pdf
public

View File

@ -1,13 +1,16 @@
FROM alpine:latest AS builder
WORKDIR /src
COPY . /src
ARG GOHUGO_LINK=https://github.com/gohugoio/hugo/releases/download/v0.110.0/hugo_0.110.0_linux-amd64.tar.gz
RUN apk update && apk add curl tar
RUN curl -LJO ${GOHUGO_LINK} && tar -xf hugo_0.110.0_linux-amd64.tar.gz
RUN chmod +x /src/hugo
RUN mv /src/hugo /usr/local/bin/hugo
RUN chmod +x /usr/local/bin/hugo
RUN hugo
FROM nginx:stable-alpine
COPY --from=builder /src/public /var/www
COPY configs/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD [ "nginx", "-g", "daemon off;" ]
FROM alpine:latest
WORKDIR /src
COPY --from=builder /src/hugo /usr/bin/hugo
COPY . /src
ENTRYPOINT ["/usr/bin/hugo"]
CMD ["--help"]

13
configs/nginx.conf Normal file
View File

@ -0,0 +1,13 @@
server {
listen 80;
listen [::]:80;
server_name badhouseplants.com www.badhouseplants.com;
root /var/www;
index index.html; # Hugo generates HTML
location / {
try_files $uri $uri/ =404;
}
}