【问题标题】:GitHub Actions: How to use matrix value inside a stepGitHub Actions:如何在步骤中使用矩阵值
【发布时间】: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


    【解决方案1】:

    删除环境变量并使用matrix值直接解决了问题:

    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
            with:
              context: ./${{ matrix.platform }}/
              push: true
              tags: oscarotero/lume:1.3.0-${{ matrix.platform }}
        strategy:
          matrix:
            platform:
              - alpine
              - debian
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 2023-03-31
      • 2022-11-25
      • 2020-01-11
      • 2020-01-09
      • 2020-11-28
      • 2020-03-19
      相关资源
      最近更新 更多