Try to improve image build process

This commit is contained in:
Jan-Lukas Else 2021-12-06 20:06:26 +01:00
parent c988700ad5
commit 82803bfef0
3 changed files with 42 additions and 26 deletions

View File

@ -3,29 +3,42 @@ name: default
type: docker
steps:
- name: base
image: plugins/docker
settings:
username: nologin
password:
- name: testdocker
image: docker:dind
volumes:
- name: dockersock
path: /var/run
commands:
- sleep 5 # give docker enough time to start
- docker ps -a
- name: build
image: docker:dind
volumes:
- name: dockersock
path: /var/run
environment:
DOCKER_PASSWORD:
from_secret: docker_password
repo: rg.fr-par.scw.cloud/jlelse/goblog
registry: rg.fr-par.scw.cloud/jlelse
tags: latest
mirror: https://mirror.gcr.io
- name: tools
image: plugins/docker
settings:
username: nologin
password:
from_secret: docker_password
repo: rg.fr-par.scw.cloud/jlelse/goblog
registry: rg.fr-par.scw.cloud/jlelse
tags: tools
dockerfile: Dockerfile.Tools
commands:
- echo $DOCKER_PASSWORD | docker login --username nologin --password-stdin rg.fr-par.scw.cloud/jlelse
- DOCKER_BUILDKIT=1 docker build -f Dockerfile -t rg.fr-par.scw.cloud/jlelse/goblog:latest . --target base
- DOCKER_BUILDKIT=1 docker build -f Dockerfile -t rg.fr-par.scw.cloud/jlelse/goblog:tools . --target tools
- docker push --all-tags rg.fr-par.scw.cloud/jlelse/goblog
services:
- name: docker
image: docker:dind
privileged: true
volumes:
- name: dockersock
path: /var/run
volumes:
- name: dockersock
temp: {}
trigger:
branch:
- master
event:
- push
- push

View File

@ -1,4 +1,5 @@
FROM golang:1.17-alpine3.15 as build
WORKDIR /app
RUN apk add --no-cache git gcc musl-dev
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main sqlite-dev
@ -12,7 +13,8 @@ ADD dbmigrations/ /app/dbmigrations/
RUN go test -cover ./...
RUN go build -ldflags '-w -s' -o GoBlog
FROM alpine:3.15
FROM alpine:3.15 as base
WORKDIR /app
VOLUME /app/config
VOLUME /app/data
@ -24,4 +26,9 @@ HEALTHCHECK --interval=1m --timeout=10s CMD GoBlog healthcheck
RUN apk add --no-cache tzdata tor
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main sqlite-dev
COPY templates/ /app/templates/
COPY --from=build /app/GoBlog /bin/
COPY --from=build /app/GoBlog /bin/
FROM base as tools
RUN apk add --no-cache curl bash git
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main sqlite

View File

@ -1,4 +0,0 @@
FROM rg.fr-par.scw.cloud/jlelse/goblog:latest
RUN apk add --no-cache curl bash git
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main sqlite