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

问题描述 投票:0回答:1

要访问 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 配置中添加任何令牌。

这可能吗?

java maven gitlab
1个回答
4
投票

新答案

自 GitLab 15.7 起,您可以按照文档中的允许任何人从包注册表中提取部分操作:

允许任何人从包注册表中提取数据,无论项目可见性如何:

  1. 在左侧边栏上,选择“搜索”或转到并查找您的私人或内部项目。
  2. 选择设置 > 常规。
  3. 扩展可见性、项目功能、权限。
  4. 打开“允许任何人从程序包注册表中提取”开关。 选择保存更改。

互联网上的任何人都可以访问该项目的包注册表。

旧答案

有一个公开提案

为 GitLab 包和注册表添加特定于功能的控件,以便管理员在如何共享项目资源方面拥有更大的灵活性和控制权。

但这还没有实现。

然后根据文档中定义的项目可见性派生出包注册表可见性权限。

如果您想在无需身份验证的情况下访问包注册表,目前唯一的解决方案似乎是启用了包注册表的公共项目。

© www.soinside.com 2019 - 2024. All rights reserved.