-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathDockerfile.deploy
More file actions
49 lines (35 loc) · 1.24 KB
/
Dockerfile.deploy
File metadata and controls
49 lines (35 loc) · 1.24 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
FROM golang:1.26-alpine AS builder
ARG LAST_COMMIT=local
ARG DATE=unknown
ARG BUILDTIME=0
ENV GOOS=linux
ENV CGO_ENABLED=0
WORKDIR /src
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN go build -a -installsuffix cgo -o bin/deploy \
-ldflags "-s -X github.com/nais/deploy/pkg/version.Revision=${LAST_COMMIT} -X github.com/nais/deploy/pkg/version.Date=${DATE} -X github.com/nais/deploy/pkg/version.BuildUnixTime=${BUILDTIME}" \
./cmd/deploy/
FROM alpine:3 AS deploy
WORKDIR /app
RUN apk add --no-cache ca-certificates wget
COPY --from=builder /src/bin/deploy .
CMD ["/app/deploy"]
FROM alpine:3 AS canary-deployer
WORKDIR /app
RUN apk add --no-cache ca-certificates
COPY --from=builder /src/bin/deploy .
ADD canary-deployer/deployer.sh /canary/deployer.sh
ADD canary-deployer/canary.yml /canary/resource.yml
ENV RESOURCE=/canary/resource.yml
CMD ["/canary/deployer.sh"]
FROM alpine:3 AS deploy-action
WORKDIR /app
ENV TZ="Europe/Oslo"
RUN apk add --no-cache ca-certificates curl jq
RUN curl -L -f https://github.com/mikefarah/yq/releases/download/2.4.1/yq_linux_amd64 > /usr/local/bin/yq && chmod +x /usr/local/bin/yq
COPY --from=builder /src/bin/deploy .
COPY actions/deploy/entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]