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