Reverted back to multi-stage build. Previous change of extracting baser image was not needed since the test container is a plain alpione container with a few additional packages.
This commit is contained in:
parent
69b58976ae
commit
51d46ee07d
@ -1,18 +0,0 @@
|
|||||||
FROM alpine:3.20.2
|
|
||||||
|
|
||||||
RUN apk update && apk add go curl
|
|
||||||
RUN mkdir -p /opt/converge/bin
|
|
||||||
|
|
||||||
# if templ cannot be obtained: quick fix, remove this statement and run make, then build the image.
|
|
||||||
RUN curl -L https://github.com/a-h/templ/releases/download/v0.2.747/templ_Linux_x86_64.tar.gz -o templ.tar.gz && \
|
|
||||||
tar xvzf templ.tar.gz templ && \
|
|
||||||
chmod 755 templ && \
|
|
||||||
mv templ /bin
|
|
||||||
COPY cmd pkg static go.mod go.sum /opt/converge/
|
|
||||||
WORKDIR /opt/converge
|
|
||||||
ENV GOTOOLCHAIN=auto
|
|
||||||
RUN go mod download
|
|
||||||
COPY . /opt/converge/
|
|
||||||
RUN templ generate
|
|
||||||
RUN go build -ldflags "-linkmode 'external' -extldflags '-static'" -o bin ./cmd/...
|
|
||||||
RUN GOOS=windows GOARCH=amd64 go build -o bin ./cmd/...
|
|
@ -1,6 +1,22 @@
|
|||||||
|
FROM alpine:3.20.2 as builder
|
||||||
|
|
||||||
|
RUN apk update && apk add go curl
|
||||||
|
RUN mkdir -p /opt/converge/bin
|
||||||
|
|
||||||
|
# if templ cannot be obtained: quick fix, remove this statement and run make, then build the image.
|
||||||
|
RUN curl -L https://github.com/a-h/templ/releases/download/v0.2.747/templ_Linux_x86_64.tar.gz -o templ.tar.gz && \
|
||||||
|
tar xvzf templ.tar.gz templ && \
|
||||||
|
chmod 755 templ && \
|
||||||
|
mv templ /bin
|
||||||
|
COPY cmd pkg static go.mod go.sum /opt/converge/
|
||||||
|
WORKDIR /opt/converge
|
||||||
|
ENV GOTOOLCHAIN=auto
|
||||||
|
RUN go mod download
|
||||||
|
COPY . /opt/converge/
|
||||||
|
RUN templ generate
|
||||||
|
RUN go build -ldflags "-linkmode 'external' -extldflags '-static'" -o bin ./cmd/...
|
||||||
|
RUN GOOS=windows GOARCH=amd64 go build -o bin ./cmd/...
|
||||||
|
|
||||||
ARG BASE_IMAGE
|
|
||||||
FROM ${BASE_IMAGE} as builder
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
|
|
||||||
COPY --from=builder /opt/converge/bin/converge /opt/converge/bin/
|
COPY --from=builder /opt/converge/bin/converge /opt/converge/bin/
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
ARG BASE_IMAGE
|
|
||||||
FROM alpine:3.20.2
|
FROM alpine:3.20.2
|
||||||
RUN apk update && apk add curl openssh && mkdir /test
|
RUN apk update && apk add curl openssh && mkdir /test
|
||||||
WORKDIR /test
|
WORKDIR /test
|
||||||
|
7
Makefile
7
Makefile
@ -37,10 +37,7 @@ icons: static/icons/.downloaded
|
|||||||
all: icons build buildwin
|
all: icons build buildwin
|
||||||
|
|
||||||
images:
|
images:
|
||||||
docker compose build converge-builder
|
docker compose --profile build build
|
||||||
docker compose build converge
|
|
||||||
docker compose build converge-tester
|
|
||||||
|
|
||||||
push: images
|
push: images
|
||||||
docker compose push converge
|
docker compose --profile build push
|
||||||
docker compose push converge-tester
|
|
||||||
|
14
compose.yaml
14
compose.yaml
@ -1,21 +1,11 @@
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
converge-builder:
|
|
||||||
image: $REGISTRY/converge-builder:1.0.0
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: Dockerfile.base
|
|
||||||
profiles:
|
|
||||||
- build_only
|
|
||||||
|
|
||||||
converge:
|
converge:
|
||||||
image: $REGISTRY/converge:1.0.0
|
image: $REGISTRY/converge:1.0.0
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile.prod
|
dockerfile: Dockerfile.prod
|
||||||
args:
|
|
||||||
BASE_IMAGE: $REGISTRY/converge-builder:1.0.0
|
|
||||||
ports:
|
ports:
|
||||||
- 8000:8000
|
- 8000:8000
|
||||||
|
|
||||||
@ -25,8 +15,6 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile.test
|
dockerfile: Dockerfile.test
|
||||||
args:
|
|
||||||
BASE_IMAGE: $REGISTRY/converge-builder:1.0.0
|
|
||||||
profiles:
|
profiles:
|
||||||
- build_only
|
- build
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user