首页 > 解决方案 > 带有日期的 Docker 标记在 Gitlab 中不再起作用

问题描述

以前,我已经成功地标记了我的最新图像并将它们推送到 Gitlab 容器注册表几个月,没有任何问题。但是,从昨天开始,我就注意到 Gitlab 不再设法将我的图像推送到它的容器存储库。这是堆栈跟踪:

[info] Built image project with tags [0.1-SNAPSHOT, latest]
[success] Total time: 285 s (04:45), completed Dec 13, 2020, 8:56:34 PM
$ docker tag project:latest registry.gitlab.com/group/project:0.1-SNAPSHOT-$(date +%Y-%m-%d-%H-%M-%S)
$ docker push registry.gitlab.com/group/project
Using default tag: latest
The push refers to repository [registry.gitlab.com/group/project]
tag does not exist: registry.gitlab.com/group/project:latest

我可以通过这样标记图像来设法推送图像,但这不是我想要的,因为我想区分我的图像。

    - sbt docker:publishLocal
    - docker tag project:latest registry.gitlab.com/group/project
    - docker push registry.gitlab.com/group/project

我的 gitlab.yml 文件没有任何更改,我不明白为什么它突然开始失败。任何帮助或指针表示赞赏。

标签: gitlab-cisbt-native-packager

解决方案


实际上,我通过更改脚本以推送特定标签而不是最新标签来解决它。

  script:
    - sbt docker:publishLocal
    - docker tag project:latest registry.gitlab.com/group/project:0.1-SNAPSHOT-$(date +%Y-%m-%d-%H-%M)
    - docker push registry.gitlab.com/group/project:0.1-SNAPSHOT-$(date +%Y-%m-%d-%H-%M)

推荐阅读