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
|
||||
|
||||
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
|
||||
|
|
11
Dockerfile
11
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/
|
||||
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