docker 如何在Google Artifacts Registry中为一张图片添加多个标签

oxcyiej7  于 2022-12-03  发布在  Docker
关注(0)|答案(2)|浏览(125)

我正在尝试使用GitHub Actions来建立一个CI/CD。到目前为止,我已经能够 checkout 代码,启动数据库服务,运行测试用例,建立docker,标记一个docker图像,然后将其推送到Artifacts注册表。但是,现在我想添加另一个标记(在推送之前,我已经标记了它的版本)到该图像,如下图所示。但这应该通过Github Actions本身来完成。

在寻找解决方案后,我找到了一个命令-

gcloud artifacts docker tags add tag ${{ secrets.REGION }}-docker.pkg.dev/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.ARTIFACTS_REPO }}/yacht-away:$GIT_TAG ${{ secrets.REGION }}-docker.pkg.dev/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.ARTIFACTS_REPO }}/yacht-away:latest

我只是简单地替换了上面命令中的图像参数。但这会引发一个错误-

ERROR: (gcloud.artifacts.docker.tags.add) unrecognized arguments: ***-docker.pkg.dev/***/***/***:latest 

To search the help text of gcloud commands, run:
  gcloud help -- SEARCH_TERMS

我在哪里出错了?如何通过GitHub操作在Artifacts中为一张图片添加多个标签?

qco9c6ql

qco9c6ql1#

建议您使用Docker的官方Build Push action来构建Docker映像并将其推送到您正在使用的任何容器注册表中。
如果您浏览了上述操作中的自定义选项,则只需在标记之间添加一个逗号即可进行多个标记,如下所示:

- name: Build and push
  uses: docker/build-push-action@v2
  with:
    context: .
    push: true
    tags: ${{ secrets.DOCKERHUB_USERNAME }}/myapp:${{ steps.vars.outputs.tag }} , ${{ secrets.DOCKERHUB_USERNAME }}/myapp:latest
o8x7eapl

o8x7eapl2#

命令是

gcloud artifacts docker tags add DOCKER_IMAGE DOCKER_TAG

不适用

gcloud artifacts docker tags add tag DOCKER_IMAGE DOCKER_TAG

来源:https://cloud.google.com/sdk/gcloud/reference/artifacts/docker/tags/add

相关问题