mirror of https://github.com/jlelse/GoBlog
Try to improve image build process
This commit is contained in:
parent
c988700ad5
commit
82803bfef0
53
.drone.yml
53
.drone.yml
|
@ -3,29 +3,42 @@ name: default
|
||||||
type: docker
|
type: docker
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: base
|
- name: testdocker
|
||||||
image: plugins/docker
|
image: docker:dind
|
||||||
settings:
|
volumes:
|
||||||
username: nologin
|
- name: dockersock
|
||||||
password:
|
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
|
from_secret: docker_password
|
||||||
repo: rg.fr-par.scw.cloud/jlelse/goblog
|
commands:
|
||||||
registry: rg.fr-par.scw.cloud/jlelse
|
- echo $DOCKER_PASSWORD | docker login --username nologin --password-stdin rg.fr-par.scw.cloud/jlelse
|
||||||
tags: latest
|
- DOCKER_BUILDKIT=1 docker build -f Dockerfile -t rg.fr-par.scw.cloud/jlelse/goblog:latest . --target base
|
||||||
mirror: https://mirror.gcr.io
|
- DOCKER_BUILDKIT=1 docker build -f Dockerfile -t rg.fr-par.scw.cloud/jlelse/goblog:tools . --target tools
|
||||||
- name: tools
|
- docker push --all-tags rg.fr-par.scw.cloud/jlelse/goblog
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
services:
|
||||||
username: nologin
|
- name: docker
|
||||||
password:
|
image: docker:dind
|
||||||
from_secret: docker_password
|
privileged: true
|
||||||
repo: rg.fr-par.scw.cloud/jlelse/goblog
|
volumes:
|
||||||
registry: rg.fr-par.scw.cloud/jlelse
|
- name: dockersock
|
||||||
tags: tools
|
path: /var/run
|
||||||
dockerfile: Dockerfile.Tools
|
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
temp: {}
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- master
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
11
Dockerfile
11
Dockerfile
|
@ -1,4 +1,5 @@
|
||||||
FROM golang:1.17-alpine3.15 as build
|
FROM golang:1.17-alpine3.15 as build
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN apk add --no-cache git gcc musl-dev
|
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
|
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 test -cover ./...
|
||||||
RUN go build -ldflags '-w -s' -o GoBlog
|
RUN go build -ldflags '-w -s' -o GoBlog
|
||||||
|
|
||||||
FROM alpine:3.15
|
FROM alpine:3.15 as base
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
VOLUME /app/config
|
VOLUME /app/config
|
||||||
VOLUME /app/data
|
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 tzdata tor
|
||||||
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main sqlite-dev
|
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main sqlite-dev
|
||||||
COPY templates/ /app/templates/
|
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
|
|
@ -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
|
|
Loading…
Reference in New Issue