【发布时间】:2022-12-03 00:50:57
【问题描述】:
我有一个 GitHub Action,几乎与下面的类似。该操作的目的是构建 Dockerfile 并将其推送到 DockerHub。
name: DockerHub Run
on:
push:
branches:
- "master"
schedule:
- cron: "0 0 * * 0"
env:
DOCKERHUB_USERNAME: MyUser
OFFICIAL_TAG: MyUser/MyImage:latest
MAIN_REPO_NAME: MyUser/MyImage
DOCKERFILE_PATH: /
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ env.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
- name: Build and push image to DockerHub
uses: docker/build-push-action@v3
with:
platforms: linux/amd64,linux/arm64
file: ${{ env.GITHUB_WORKSPACE }}/Dockerfile
push: true
tags: ${{ env.OFFICIAL_TAG }}
- name: Update repo description
uses: peter-evans/dockerhub-description@v2
with:
username: ${{ env.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
repository: ${{ env.MAIN_REPO_NAME }}
readme-filepath: ./readme.md
但是,我对这一行有疑问:
uses: docker/build-push-action@v3
with:
platforms: linux/amd64,linux/arm64
我不确定此处列出的平台是否真的编译到这些平台。请记住,GitHub 使用的是 ubuntu-latest,它是 x86-x64,我没有要测试的 ARM64 设备。
我是否正确设置以构建 ARM 设备?
【问题讨论】:
-
对我来说看起来很合理。 docs for build-push-action 说平台可以是列表或一组逗号分隔值。
标签: docker dockerfile github-actions docker-registry