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

16

当使用 docker/build-push-action@v2 时,有没有一种指定多个标签的方法?

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

错误信息

buildx failed with: error: invalid tag "***/myapp:1.4.0 ***/myapp:latest": invalid reference format

.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
2个回答

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

请注意,build-push-action 现在已经更新到 v4 版本,因此要使用的操作是 docker/build-push-action@v4 - Erik Finnman

14
您还可以使用“换行符分隔字符串”。我认为当您有更长的字符串时,这种方法会更好:
- 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接