25 lines
686 B
Docker
25 lines
686 B
Docker
# syntax=docker/dockerfile:1.7
|
|
|
|
FROM golang:1.26-alpine AS build
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
ARG VERSION=dev
|
|
ARG COMMIT=unknown
|
|
ARG BUILD_TIME=unknown
|
|
RUN for cmd in master:updater-master agent:updater-agent; do \
|
|
CGO_ENABLED=0 go build \
|
|
-ldflags="-s -w \
|
|
-X main.version=${VERSION} \
|
|
-X main.commit=${COMMIT} \
|
|
-X main.buildTime=${BUILD_TIME}" \
|
|
-o /out/${cmd#*:} ./cmd/${cmd%%:*} || exit 1; \
|
|
done
|
|
|
|
FROM alpine:3.20
|
|
RUN apk add --no-cache docker-cli docker-cli-compose ca-certificates wget
|
|
COPY --from=build /out/ /usr/local/bin/
|
|
EXPOSE 8080 8090
|
|
ENTRYPOINT ["/usr/local/bin/updater-agent"]
|