GitHub Actions - 使用 docker/build-push-action@v2 指定多个标签

ker*_*nic 16 docker github-actions

有没有办法在使用时指定多个标签docker/build-push-action@v2

我尝试指定由空格或逗号分隔的多个标签,但它们都失败了。

错误

buildx failed with: error: invalid tag "***/myapp:1.4.0 ***/myapp:latest": invalid reference format
Run Code Online (Sandbox Code Playgroud)

.github/workflows/publish.yml

- name: Build and push
  id: docker_build
  uses: docker/build-push-action@v2
  with:
    context: .
    push: true
    tags: ${{ secrets.DOCKER_HUB_USERNAME }}/myapp:${{ steps.vars.outputs.tag }} ${{ secrets.DOCKER_HUB_USERNAME }}/myapp:latest
Run Code Online (Sandbox Code Playgroud)

小智 22

检查这里https://github.com/docker/build-push-action#customizing,在标签之间添加逗号,如下所示:

- name: Build and push
  id: docker_build
  uses: docker/build-push-action@v2
  with:
    context: .
    push: true
    tags: ${{ secrets.DOCKER_HUB_USERNAME }}/myapp:${{ steps.vars.outputs.tag }} , ${{ secrets.DOCKER_HUB_USERNAME }}/myapp:latest
Run Code Online (Sandbox Code Playgroud)


Aka*_*ph7 15

您还可以使用“换行符分隔的字符串”。我认为当你有更长的字符串时这会更好:

- name: Build and push
  id: docker_build
  uses: docker/build-push-action@v2
  with:
    context: .
    push: true
    tags: |
      ${{ secrets.DOCKER_HUB_USERNAME }}/myapp:${{ steps.vars.outputs.tag }}
      ${{ secrets.DOCKER_HUB_USERNAME }}/myapp:latest
Run Code Online (Sandbox Code Playgroud)