dedicated docker image for building and uploading
This commit is contained in:
parent
acbf115728
commit
b4999c40be
34
.drone.yml
34
.drone.yml
@ -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
25
Dockerfile
Normal 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
|
13
Makefile
13
Makefile
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user