forked from JointCloud/pcm-coordinator
ci/cd optimization
Signed-off-by: jagger <cossjie@foxmail.com>
This commit is contained in:
parent
46c7a9e010
commit
a364ded342
|
@ -43,6 +43,14 @@ jobs:
|
|||
run: |
|
||||
echo "::set-output name=build_time::$(date +'%Y%m%d%H%M%S')"
|
||||
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-go-
|
||||
|
||||
- name: Build and push multi-arch image
|
||||
run: |
|
||||
docker buildx build \
|
||||
|
|
10
Dockerfile
10
Dockerfile
|
@ -1,20 +1,26 @@
|
|||
# 第一阶段:构建二进制文件
|
||||
FROM --platform=$BUILDPLATFORM golang:alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
# 缓存依赖项
|
||||
ENV GO111MODULE=on GOPROXY=https://goproxy.cn,direct
|
||||
RUN go mod download
|
||||
|
||||
COPY . .
|
||||
|
||||
ARG TARGETOS
|
||||
ARG TARGETARCH
|
||||
|
||||
# 使用 GOOS 和 GOARCH 环境变量来构建不同架构的二进制文件
|
||||
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-w -s" -o pcm-core-api
|
||||
|
||||
# 第二阶段:构建最终镜像
|
||||
FROM --platform=$TARGETPLATFORM alpine:latest
|
||||
WORKDIR /app
|
||||
|
||||
#修改alpine源为上海交通大学
|
||||
# 修改alpine源为上海交通大学
|
||||
RUN apk add --no-cache ca-certificates && update-ca-certificates && \
|
||||
apk add --update tzdata && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
|
Loading…
Reference in New Issue