# ---------- Builder Stage ---------- FROM golang:1.24.2 AS builder ARG GIT_AUTH_TOKEN RUN git config --global url."https://${GIT_AUTH_TOKEN}:x-oauth-basic@git.denco.store/".insteadOf "https://git.denco.store/" WORKDIR /app # copy only go.mod and go.sum first COPY go.mod go.sum ./ RUN go mod download # now copy the rest of the code COPY . . # build binaries RUN CGO_ENABLED=0 GOOS=linux go build -o server ./cmd/server/main.go \ && CGO_ENABLED=0 GOOS=linux go build -o tasks_server ./cmd/tasks_server/main.go # ---------- Final Image: Server ---------- FROM gcr.io/distroless/static-debian12 AS server WORKDIR /app COPY --from=builder /app/server . ENTRYPOINT ["./server"] # ---------- Final Image: Tasks Server ---------- FROM gcr.io/distroless/static-debian12 AS tasks_server WORKDIR /app COPY --from=builder /app/tasks_server . ENTRYPOINT ["./tasks_server"]