Browse Source

Add Docker build multi-platform support

pull/325/head
devad 1 year ago
parent
commit
d17090409e
2 changed files with 5 additions and 5 deletions
  1. +2
    -3
      .github/workflows/docker-publish.yml
  2. +3
    -2
      Dockerfile

+ 2
- 3
.github/workflows/docker-publish.yml View File

@@ -38,10 +38,9 @@ jobs:
username: ${{ secrets.ALIYUN_USERNAME }}
password: ${{ secrets.ALIYUN_PASSWORD }}

- name: Build and push
- name: Build and push multi-arch image
run: |
docker build -t ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{env.IMAGE_TAG}} .
docker push ${{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 .

- name: Set up SSH key
run: |


+ 3
- 2
Dockerfile View File

@@ -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
COPY . .
@@ -6,7 +6,8 @@ COPY . .
ENV GO111MODULE=on GOPROXY=https://goproxy.cn,direct
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


Loading…
Cancel
Save