如何在没有访问令牌的情况下公开 Gitlab 包注册表?

How to expose Gitlab Package Registry without access token?

要访问 gitlabs Package Registry,它需要使用 access_token,就像添加到 maven settings.xml 的私有令牌一样。否则无法访问注册表。

https://docs.gitlab.com/ee/user/packages/package_registry/

<settings>
  <servers>
    <server>
      <id>gitlab-maven</id>
      <configuration>
        <httpHeaders>
          <property>
            <name>Private-Token</name>
            <value>PERSONAL_ACCESS_TOKEN</value>
          </property>
        </httpHeaders>
      </configuration>
    </server>
  </servers>
</settings>
               

问题:如何在不进行身份验证的情况下公开注册表中的库?或者更好地说:公司中有权访问 gitlab 的每个用户都应该能够简单地获取库,而无需向其 maven 配置添加任何令牌。

这可能吗?

有一个open proposal到:

Add feature-specific controls for the GitLab Package and Registry, so that Admin have more flexibility and control in how they can share their project's resources.

但这还没有实现。

然后包注册表可见性权限从 documentation 中定义的项目可见性派生。

如果您想无需身份验证即可访问包注册表,目前唯一的解决方案似乎是 public 项目启用了包注册表。