30 lines
526 B
Docker
30 lines
526 B
Docker
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"]
|