You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
561 B
26 lines
561 B
FROM git.vdhsn.com/barretthousen/tools:v1 as prod-builder
|
|
|
|
WORKDIR /go/src/
|
|
|
|
COPY . /go/src/
|
|
|
|
RUN /go/bin/sqlc generate -f /go/src/sqlc.yaml \
|
|
&& /go/bin/buf mod update /go/src && /go/bin/buf generate
|
|
|
|
ARG service
|
|
|
|
WORKDIR /go/src/${service}
|
|
|
|
RUN go mod tidy \
|
|
&& CGO_ENABLED=0 go build -v -gcflags="-trimpath=$(go env GOPATH)" -asmflags="-trimpath=$(go env GOPATH)" -o /opt/${service} /go/src/${service}
|
|
|
|
FROM alpine as production
|
|
|
|
ARG service
|
|
|
|
COPY --from=prod-builder /opt/${service} /opt/${service}
|
|
|
|
ENV SERVICE=${SERVICE}
|
|
|
|
ENTRYPOINT ["/opt/${SERVICE}"]
|