Vscode-docker: GitLab Docker Registry 中缺少存储库名称

创建于 2020-02-21  ·  11评论  ·  资料来源: microsoft/vscode-docker

我正在使用 GitLab 注册表,但我注意到给定注册表中当前存储库的名称丢失了。

而这种行为只能在 GitLab 上观察到,DockerHub 的作用就像一个魅力。

我将提供一些图像,以便更清晰。

观察:
Image of observed defect

GitLab 中的当前状态:
Current state in GitLab

同样的事情,但在 DockerHub 中:
Current state in GitLab

bug fix released investigate

所有11条评论

肯定看起来像一个错误,我们会调查它。 感谢您报告@danielgospodinow!

@BigMorty我认为我们应该将其用于 0.11.0,因为它本质上使 GitLab 在我们的注册表视图中无法使用。

在给定的命名空间中只能存在这些空白存储库中的一个——它的名称 _is_ 与命名空间相同——因此这在一定程度上缓解了这个问题。 您不会看到空白存储库的字段,没有上下文或关于什么是什么的提示。

我能够重现:

通过标记并推送到registry.gitlab.com/username/project/repo:latest ,它将显示为带有标记latest存储库something latest ,如下所示:
docker push registry.gitlab.com/bwateratmsft/vscode-extension-testing/webworkspace:latest
image

但是如果你用registry.gitlab.com/username/project:latest标记和推送,它会显示为存储库空白:
docker push registry.gitlab.com/bwateratmsft/vscode-extension-testing:latest
image

我会检查一下 Docker Hub 有什么不同...

所以 Docker Hub 不允许推送到命名空间本身。 即我可以推送bwateratmsft/webworkspace:latest但不能推送bwateratmsft:latest

很高兴您设法重现了这个问题,我很高兴您甚至弄清楚了到底发生了什么! :smile: 祝你好运,伙计们!

谢谢! 我们试图确切地决定在那个位置应该放什么文本。 从技术上讲,它完全是另一个存储库。 我们的一些想法包括:

  1. 给出全名,例如在我的例子中它是bwateratmsft/vscode-extension-testing 。 这将是与父节点完全相同的文本。
  2. 显示<root>
  3. 显示<default>

您是否有任何偏好,或者是否有不同的文本可以显示在那里?

我认为选项 1 似乎很合理。 事实上,这就是我作为用户所期望的行为。 :微笑:

我熟悉源代码,我也会尽力帮助解决这个问题。 我很乐意为这个项目做出贡献。 :微笑:

我进一步研究了代码,这似乎是 GitLab 本身的一个怪癖。 他们的 API 返回一个空白的name值。 不过,我认为修复本质上是相同的——在构建存储库节点时,如果请求中没有任何内容,我们可以只提供一个默认名称,如项目名称。

是的,我绝对同意! :smile: 此修复程序应该可以解决问题。
我设法在本地应用了修复程序。
我可以尝试为此发出拉取请求,即使它只是一行代码? :微笑:

是的,请这样做! 欢迎用户投稿。 :微笑:

我已经提出了拉取请求。 :smile: 我会尽我所能继续贡献! :v: 谢谢你们的精彩讨论,这对我来说是一个很好的机会!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

thernstig picture thernstig  ·  3评论

Justpro77 picture Justpro77  ·  3评论

SQLvariant picture SQLvariant  ·  3评论

dwbelliston picture dwbelliston  ·  4评论

Kludex picture Kludex  ·  7评论