From 82803bfef0789f20cbd05356d5f5469969d1c54f Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Mon, 6 Dec 2021 20:06:26 +0100 Subject: [PATCH] Try to improve image build process --- .drone.yml | 53 ++++++++++++++++++++++++++++++------------------ Dockerfile | 11 ++++++++-- Dockerfile.Tools | 4 ---- 3 files changed, 42 insertions(+), 26 deletions(-) delete mode 100644 Dockerfile.Tools diff --git a/.drone.yml b/.drone.yml index 7a4a440..36864cb 100644 --- a/.drone.yml +++ b/.drone.yml @@ -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 \ No newline at end of file + - push diff --git a/Dockerfile b/Dockerfile index c671b8d..ff7d1fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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/ \ No newline at end of file +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 \ No newline at end of file diff --git a/Dockerfile.Tools b/Dockerfile.Tools deleted file mode 100644 index 2528285..0000000 --- a/Dockerfile.Tools +++ /dev/null @@ -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 \ No newline at end of file