mirror of
https://github.com/chaitin/MonkeyCode.git
synced 2026-02-02 06:43:23 +08:00
38 lines
1.0 KiB
Docker
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" ] |