3
3
4
4
5
5
FROM registry.ddbuild.io/images/mirror/golang:1.22-alpine AS builder
6
+ WORKDIR /usr/src/app/
6
7
7
- WORKDIR /usr/src/app
8
-
9
- RUN apk update \
10
- && apk add --no-cache make protobuf-dev
11
-
12
- RUN --mount=type=cache,target=/go/pkg/mod/ \
13
- --mount=type=bind,source=./src/accountingservice/go.sum,target=go.sum \
14
- --mount=type=bind,source=./src/accountingservice/go.mod,target=go.mod \
15
- --mount=type=bind,source=./src/accountingservice/tools.go,target=tools.go \
16
- go mod download \
17
- && go list -e -f '{{range .Imports}}{{.}} {{end}}' tools.go | CGO_ENABLED=0 xargs go install -mod=readonly
8
+ COPY ./src/accountingservice/ ./
9
+ RUN go build -o /go/bin/accountingservice/
18
10
19
- RUN --mount=type=cache,target=/go/pkg/mod/ \
20
- --mount=type=cache,target=/root/.cache/go-build \
21
- --mount=type=bind,rw,source=./src/accountingservice,target=. \
22
- --mount=type=bind,rw,source=./pb,target=./pb \
23
- protoc -I ./pb ./pb/demo.proto --go_out=./ --go-grpc_out=./ \
24
- && go build -ldflags "-s -w" -o /go/bin/accountingservice/ ./
11
+ # -----------------------------------------------------------------------------
25
12
26
13
FROM alpine
27
14
28
15
WORKDIR /usr/src/app/
29
16
30
17
COPY --from=builder /go/bin/accountingservice/ ./
31
18
32
- ENTRYPOINT [ "./accountingservice" ]
19
+ ENTRYPOINT [ "./accountingservice" ]
0 commit comments