Files
MonkeyCode/backend/build/Dockerfile.scanner
2025-08-20 16:25:32 +08:00

38 lines
1.0 KiB
Docker

FROM --platform=$BUILDPLATFORM golang:1.25-alpine AS builder
WORKDIR /src
ENV CGO_ENABLED=0
COPY go.* .
ARG GOMODCACHE
RUN --mount=type=cache,target=${GOMODCACHE} \
go mod download
ARG TARGETOS TARGETARCH GOCACHE
ARG VERSION
ARG BUILD_TIME
ARG GIT_COMMIT
RUN --mount=type=bind,target=. \
--mount=type=cache,target=${GOMODCACHE} \
--mount=type=cache,target=${GOCACHE} \
GOOS=$TARGETOS GOARCH=$TARGETARCH \
go build \
-ldflags "-w -s -X 'github.com/chaitin/MonkeyCode/backend/pkg/version.Version=${VERSION}' -X 'github.com/chaitin/MonkeyCode/backend/pkg/version.BuildTime=${BUILD_TIME}' -X 'github.com/chaitin/MonkeyCode/backend/pkg/version.GitCommit=${GIT_COMMIT}'" \
-o /out/main \
cmd/scanner/main.go cmd/scanner/wire_gen.go
FROM debian:bullseye-20250721-slim as binary
RUN apt-get update && \
apt-get install -y ca-certificates && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
ARG TARGETARCH
COPY assets-${TARGETARCH}/sgp ./assets/sgp
COPY --from=builder /out/main /app/main
CMD [ "./main" ]