GitHub CI 构建 Docker 镜像并发布到各个平台的 Action
jobs:
build-and-push:
runs-on: ubuntu-latest
strategy:
matrix:
architecture: [ amd64, arm64 ]
- name: Build and push Docker image for ${{ matrix.architecture }}
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: linux/${{ matrix.architecture }}
push: true
tags: |
${REGISTRY}/${IMAGE_NAME}:latest-${{ matrix.architecture }}
${REGISTRY}/${IMAGE_NAME}:v1.0.0-${{ matrix.architecture }}
- name: Combine multi-arch images
if: matrix.architecture == 'amd64'
run: |
docker buildx imagetools create \
--tag ${REGISTRY}/${IMAGE_NAME}:latest \
${REGISTRY}/${IMAGE_NAME}:latest-amd64 \
${REGISTRY}/${IMAGE_NAME}:latest-arm64