dedicated docker image for building and uploading

This commit is contained in:
Marvin Steadfast 2020-03-18 08:55:36 +01:00
parent acbf115728
commit b4999c40be
3 changed files with 54 additions and 18 deletions

View File

@ -4,24 +4,36 @@ name: default
concurrency: concurrency:
limit: 1 limit: 1
steps: steps:
- name: build and upload - name: build
image: golang:1.14.0-alpine3.11 image: xsteadfastx/blog
pull: always
environment:
WEBMENTIONIO_TOKEN:
from_secret: webmentionio_token
commands:
- curl "https://webmention.io/api/mentions?token=$$WEBMENTIONIO_TOKEN" -o data/mentions.json
- make build
when:
branch:
- master
- name: upload
image: xsteadfastx/blog
pull: always pull: always
environment: environment:
FTP_PASS: FTP_PASS:
from_secret: ftp_pass from_secret: ftp_pass
WEBMENTIONIO_TOKEN:
from_secret: webmentionio_token
commands: commands:
- apk add --no-cache curl make git npm
- mkdir -p ~/.config/rclone
- make rclone_config - make rclone_config
- cat ~/.config/rclone/rclone.conf
- make install_deps
- curl "https://webmention.io/api/mentions?token=$$WEBMENTIONIO_TOKEN" -o data/mentions.json
- make build
- make ftp_upload - make ftp_upload
- npm install @remy/webmention when:
branch:
- master
- name: mention
image: xsteadfastx/blog
pull: always
commands:
- npx webmention https://xsteadfastx.org/ --limit 10 --send --debug - npx webmention https://xsteadfastx.org/ --limit 10 --send --debug
when: when:
branch: branch:

25
Dockerfile Normal file
View File

@ -0,0 +1,25 @@
FROM golang:1.14.0-alpine3.11 as builder
ARG HUGO_VERSION=0.65.3
ARG RCLONE_VERSION=1.51.0
RUN set -ex \
&& apk add --no-cache \
gcc \
git \
musl-dev \
&& GO111MODULE=on GO_ENABLED=0 GOOS=linux go get -a -ldflags '-extldflags "-static"' -v github.com/gohugoio/hugo@v$HUGO_VERSION \
&& GO111MODULE=on GO_ENABLED=0 GOOS=linux go get -a -ldflags '-extldflags "-static"' -v github.com/rclone/rclone@v$RCLONE_VERSION
FROM alpine:3.11
COPY --from=builder /go/bin/hugo /usr/bin/hugo
COPY --from=builder /go/bin/rclone /usr/bin/rclone
RUN set -ex \
&& apk add --no-cache \
curl \
git \
make \
npm \
&& npm install @remy/webmention

View File

@ -1,5 +1,3 @@
HUGO_VERSION=0.65.3
RCLONE_VERSION=1.51.0
OUTPUT_DIR=./public OUTPUT_DIR=./public
FTP_HOST=xsteadfastx.org FTP_HOST=xsteadfastx.org
FTP_USER=xstead_0 FTP_USER=xstead_0
@ -12,10 +10,11 @@ build:
mkdir public/feed mkdir public/feed
cp public/index.xml public/feed/index.html cp public/index.xml public/feed/index.html
install_deps: docker:
apk add --no-cache git gcc musl-dev docker build -t quay.io/xsteadfastx/blog - < Dockerfile
GO111MODULE=on go get -v github.com/gohugoio/hugo@v$(HUGO_VERSION)
GO111MODULE=on go get -v github.com/rclone/rclone@v$(RCLONE_VERSION) push: docker
docker push quay.io/xsteadfastx/blog
ftp_upload: ftp_upload:
rclone sync -v --size-only $(OUTPUT_DIR) blog:/ rclone sync -v --size-only $(OUTPUT_DIR) blog:/
@ -33,4 +32,4 @@ slurp_mentions:
sed -i 's/https:\/\/xsteadfastx.org/http:\/\/localhost:1313/g' data/mentions.json sed -i 's/https:\/\/xsteadfastx.org/http:\/\/localhost:1313/g' data/mentions.json
.PHONY: clean build install_deps ftp_upload rclone_config slurp_mentions .PHONY: clean build docker push install_deps ftp_upload rclone_config slurp_mentions