Add Docker build multi-platform support
This commit is contained in:
parent
0a20cda5f7
commit
d17090409e
|
@ -38,10 +38,9 @@ jobs:
|
||||||
username: ${{ secrets.ALIYUN_USERNAME }}
|
username: ${{ secrets.ALIYUN_USERNAME }}
|
||||||
password: ${{ secrets.ALIYUN_PASSWORD }}
|
password: ${{ secrets.ALIYUN_PASSWORD }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push multi-arch image
|
||||||
run: |
|
run: |
|
||||||
docker build -t ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{env.IMAGE_TAG}} .
|
docker buildx build --platform linux/amd64,linux/arm64 -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} --push .
|
||||||
docker push ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{env.IMAGE_TAG}}
|
|
||||||
|
|
||||||
- name: Set up SSH key
|
- name: Set up SSH key
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM golang:1.22.4-alpine3.20 AS builder
|
FROM --platform=$BUILDPLATFORM golang:1.22.4-alpine3.20 AS builder
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY . .
|
COPY . .
|
||||||
|
@ -6,7 +6,8 @@ COPY . .
|
||||||
ENV GO111MODULE=on GOPROXY=https://goproxy.cn,direct
|
ENV GO111MODULE=on GOPROXY=https://goproxy.cn,direct
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
RUN CGO_ENABLED=0 go build -ldflags="-w -s" -o pcm-core-api
|
# 使用 GOOS 和 GOARCH 环境变量来构建不同架构的二进制文件
|
||||||
|
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-w -s" -o pcm-core-api
|
||||||
|
|
||||||
|
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
|
|
Loading…
Reference in New Issue