【问题标题】:The coverage and pipeline badges are not appearing on PyPI覆盖范围和管道徽章未出现在 PyPI 上
【发布时间】:2020-03-11 16:18:49
【问题描述】:

我们在 PyPI 服务器上的库很少。他们的一般设置和界面代码是相同的。在几个 repos scikit-surgercorescikit-surgeryutils 中,管道和覆盖范围的标记不可见,而在另一个 repo scikit-surgerydavinci 中显示了所有标记。这很奇怪,因为链接工作正常,但只有徽章没有出现。

我检查了正在从 README.rst 读取描述的项目中的 setup.cfg。徽章的代码部分对于工作和非工作回购都是相同的。我检查了 gitlab-server 以搜索 .svg 图像但找不到它们。

我的问题是为什么徽章没有出现。 PyPI 如何获得徽章。有关如何修复它们的任何帮助?修复应该不会很困难,因为链接工作正常。

【问题讨论】:

    标签: python continuous-integration gitlab continuous-deployment pypi


    【解决方案1】:

    图片不存在。比较

    https://weisslab.cs.ucl.ac.uk/WEISS/SoftwareRepositories/SNAPPY/scikit-surgerydavinci/badges/master/coverage.svg

    https://weisslab.cs.ucl.ac.uk/WEISS/SoftwareRepositories/SNAPPY/scikit-surgerycore/badges/master/coverage.svg

    第二个 URL 返回错误 404 Not Found。要么修复所有 README.rst 中的 URL,要么修复站点以返回图像。

    【讨论】:

    • 哦,好吧,你是对的,我在隐身模式下尝试过,发现第二个链接不起作用。所以它必须与回购特权有关。如果我已登录,那么这两个链接都对我有用。如果我没有登录 gitlab,那么第二个链接将不起作用。虽然上述所有回购都是公开的
    • 所以继续去 repo > settings > CI / CD > 并扩展 General Pipeline 部分。向下滚动,您将看到在项目中包含管道和覆盖率徽章的三种方式。我认为 gitlab 或 pypi 更新了旧样式不起作用的原因。我不确定我会检查更多并报告。
    • 更新:系统没有改变。上面位置的链接很好,但它具有相同的行为,即如果我登录则工作,如果我尝试以隐身模式访问它,则不工作。当用户未注册回购时,任何人都可以建议什么权限导致它不出现。
    【解决方案2】:

    我发现了问题,问题出在@phd 建议的回购管道的许可范围内。这很棘手,因为项目或 Gitlab 服务器中不存在文件 .svg,但它是由 Gitlab 为每个项目动态创建的。
    在将管道权限从 Only Project Members 更改为 Everyone with Access 时解决问题。设置位于Gitlab-Repo > Settings > Visibility, project features, permissions > Click Expand and in Repo section change Pipelines

    【讨论】:

      猜你喜欢
      • 2017-08-26
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2016-05-14
      • 2017-03-31
      • 1970-01-01
      • 2021-07-21
      • 2020-07-27
      相关资源
      最近更新 更多