Skip to content

Commit

Permalink
refactor(accountingservice): refactor accountingservice dockerfile (#…
Browse files Browse the repository at this point in the history
…1439)

Co-authored-by: Austin Parker <[email protected]>
  • Loading branch information
tranngoclam and austinlparker committed Mar 12, 2024
1 parent 78a5078 commit 6775060
Showing 1 changed file with 20 additions and 14 deletions.
34 changes: 20 additions & 14 deletions src/accountingservice/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,26 @@
# SPDX-License-Identifier: Apache-2.0


FROM golang:1.22.0-alpine AS builder
RUN apk update && apk add --no-cache make protobuf-dev
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

WORKDIR /usr/src/app/

COPY ./src/accountingservice/ ./
COPY ./pb/ ./pb

RUN protoc -I ./pb ./pb/demo.proto --go_out=./ --go-grpc_out=./
RUN go build -o /go/bin/accountingservice/

# -----------------------------------------------------------------------------
FROM golang:1.22-alpine AS builder

WORKDIR /usr/src/app

RUN apk update \
&& apk add --no-cache make protobuf-dev

RUN --mount=type=cache,target=/go/pkg/mod/ \
--mount=type=bind,source=./src/accountingservice/go.sum,target=go.sum \
--mount=type=bind,source=./src/accountingservice/go.mod,target=go.mod \
--mount=type=bind,source=./src/accountingservice/tools.go,target=tools.go \
go mod download \
&& go list -e -f '{{range .Imports}}{{.}} {{end}}' tools.go | CGO_ENABLED=0 xargs go install -mod=readonly

RUN --mount=type=cache,target=/go/pkg/mod/ \
--mount=type=cache,target=/root/.cache/go-build \
--mount=type=bind,rw,source=./src/accountingservice,target=. \
--mount=type=bind,rw,source=./pb,target=./pb \
protoc -I ./pb ./pb/demo.proto --go_out=./ --go-grpc_out=./ \
&& go build -ldflags "-s -w" -o /go/bin/accountingservice/ ./

FROM alpine

Expand Down

0 comments on commit 6775060

Please sign in to comment.