-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathDockerfile
37 lines (28 loc) · 1.11 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM golang:alpine AS builder
COPY platform /platform
COPY cmd /cmd
ENV GOCACHE=/root/.cache/go-build
ARG QUESMA_BUILD_SHA
ARG QUESMA_VERSION
ARG QUESMA_BUILD_DATE
WORKDIR /cmd
RUN --mount=type=cache,target="/root/.cache/go-build" \
--mount=type=cache,target=/go/pkg/mod \
go build -o healthcheck ./util/healthcheck
RUN --mount=type=cache,target="/root/.cache/go-build" \
--mount=type=cache,target=/go/pkg/mod \
go build \
-ldflags=" \
-X 'github.com/QuesmaOrg/quesma/platform/buildinfo.BuildHash=$QUESMA_BUILD_SHA' \
-X 'buildinfo.BuildHash=$QUESMA_BUILD_SHA' \
-X 'github.com/QuesmaOrg/quesma/platform/buildinfo.Version=$QUESMA_VERSION' \
-X 'buildinfo.Version=$QUESMA_VERSION' \
-X 'github.com/QuesmaOrg/quesma/platform/buildinfo.BuildDate=$QUESMA_BUILD_DATE' \
-X 'buildinfo.BuildDate=$QUESMA_BUILD_DATE' \
" \
-o bin
FROM scratch
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /cmd/bin /cmd/healthcheck ./
ENTRYPOINT [ "/bin" ]
HEALTHCHECK --interval=1s --timeout=1s --start-period=2s --retries=3 CMD [ "/healthcheck" ]