【发布时间】:2021-12-29 19:48:09
【问题描述】:
我在 GitHub Actions 中有一个简单的管道。我正在尝试在同一内部构建 Docker 映像并将其发布到 Docker Hub。我还想为不同平台构建映像(阅读:操作系统),因此我使用strategy.matrix。到目前为止是这样的:
name: Build and Publish Docker image(s)
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
password: ${{ secrets.DOCKERHUB_TOKEN }}
registry: docker.io
username: ${{ secrets.DOCKERHUB_USERNAME }}
- name: Build and push
uses: docker/build-push-action@v2
env:
platform: ${{ matrix.platforms }}
with:
context: ./${platform}/
push: true
tags: oscarotero/lume:1.3.0-${platform} # TODO: Parameterize version once this is finally working
strategy:
matrix:
platforms:
- alpine
- debian
on:
push:
branches:
- main
这是currently failing,因为它在运行Build and push 步骤时无法识别platform。我有一个similar one,它适用于这种方法。
任何对 GitHub Actions 更了解的人都可以在这里阐明一些观点吗?我能想到的只是docker/build-push-action@v2 不支持,但在这种情况下,我该如何解决这个问题?
【问题讨论】:
标签: docker github-actions docker-registry