FROM golang:1.25.2-alpine3.22 AS builder WORKDIR /app COPY go.mod go.sum ./ COPY server/ ./server/ COPY internal/ ./internal/ COPY assets/ ./assets/ RUN go mod download RUN go test ./... -v RUN rm -rf ./assets/ RUN go build -o /app/service_a ./server/main.go FROM alpine:latest WORKDIR /app COPY --from=builder /app/service_a /app/service_a EXPOSE 8080 CMD ["/app/service_a"]