|
@@ -1,5 +1,7 @@
|
|
FROM golang:1.22-alpine as builder
|
|
FROM golang:1.22-alpine as builder
|
|
|
|
|
|
|
|
+ARG VERSION=unknown
|
|
|
|
+
|
|
# copy project
|
|
# copy project
|
|
COPY . /app
|
|
COPY . /app
|
|
|
|
|
|
@@ -10,7 +12,7 @@ WORKDIR /app
|
|
# ENV GOPROXY=https://goproxy.cn,direct
|
|
# ENV GOPROXY=https://goproxy.cn,direct
|
|
|
|
|
|
# build
|
|
# build
|
|
-RUN go build -o /app/main cmd/server/main.go
|
|
|
|
|
|
+RUN go build -ldflags "-X 'internal.manifest.VersionX=${VERSION}' -X 'internal.manifest.BuildTimeX=$(date -u +%Y-%m-%dT%H:%M:%S%z)'" -o /app/main cmd/server/main.go
|
|
|
|
|
|
FROM ubuntu:24.04
|
|
FROM ubuntu:24.04
|
|
|
|
|
|
@@ -18,13 +20,18 @@ COPY --from=builder /app/main /app/main
|
|
|
|
|
|
WORKDIR /app
|
|
WORKDIR /app
|
|
|
|
|
|
-# Install python3.12
|
|
|
|
-RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y python3.12 python3.12-venv python3.12-dev \
|
|
|
|
|
|
+# check build args
|
|
|
|
+ARG PLATFORM=local
|
|
|
|
+
|
|
|
|
+# Install python3.12 if PLATFORM is local
|
|
|
|
+RUN if [ "$PLATFORM" = "local" ]; then \
|
|
|
|
+ apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y python3.12 python3.12-venv python3.12-dev \
|
|
&& apt-get clean \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
- && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
|
|
|
|
|
|
+ && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1; \
|
|
|
|
+ fi
|
|
|
|
|
|
-ENV PLATFORM=local
|
|
|
|
|
|
+ENV PLATFORM=$PLATFORM
|
|
ENV GIN_MODE=release
|
|
ENV GIN_MODE=release
|
|
|
|
|
|
CMD ["/app/main"]
|
|
CMD ["/app/main"]
|