软件包库
使用 GitLab 软件包库,您可以将极狐GitLab 用作各种支持的包管理器的私有或公开库。 您可以发布和共享包,这些包可以作为下游项目的依赖项使用。
查看软件包
您可以查看项目或群组的软件包。
- 进入项目或群组。
- 进入 软件包和镜像库 > 软件包库。
您可以在此页面上搜索、排序和过滤包。您可以通过从浏览器复制和粘贴 URL 来共享您的搜索结果。
您还可以找到用于配置包管理器或安装特定软件包的有用代码片段。
当您查看群组中的软件包时:
- 显示发布到群组的所有项目。
- 仅显示您可以访问的项目。
- 如果项目是私有的,或者您不是该项目的成员,则不会显示。
身份验证
身份验证取决于正在使用的包管理器。有关更多信息,请参阅有关您要使用的特定包格式的文档。
对于大多数包类型,以下凭证类型是有效的:
- 个人访问令牌:使用您的用户权限进行身份验证。适合个人和本地使用软件包库。
- 项目部署令牌:允许访问项目中的所有包。适合向许多用户授予和撤销项目访问权限。
- 群组部署令牌:允许访问群组及其子组中的所有包。适合授予和撤销对用户集的大量包的访问权限。
- 作业令牌:允许运行流水线的用户访问运行作业的项目中的包。可以配置对其他外部项目的访问。
使用 GitLab CI/CD 构建包
您可以使用 GitLab CI/CD 来构建包。
对于 Maven、NuGet、npm、Conan、Helm 和 PyPI 包以及 Composer 依赖项,您可以使用 CI_JOB_TOKEN
向极狐GitLab 进行身份验证。
您可以用来开始的 CI/CD 模板位于此仓库中。
如果使用 CI/CD 构建包,查看包详情时会显示扩展活动信息:
您可以查看发布包的流水线,以及触发它的提交和用户。但是,历史记录仅限于给定包的五次更新。
减少存储使用
有关减少软件包库存储使用的信息,请参阅减少软件包库存储使用。
禁用软件包库
软件包库自动启用。
如果您使用的是私有化部署实例,您的管理员可以从侧栏中删除菜单项 软件包和镜像库。
您还可以专门为您的项目删除软件包库:
- 在您的项目中,转到 设置 > 通用。
- 展开 可见性、项目功能、权限 部分并禁用 软件包 功能。
- 单击 保存修改。
软件包和镜像库 > 软件包库 条目从侧边栏中删除。
软件包库可见性权限
项目级权限决定下载、推送或删除包等操作。
软件包库的可见性独立于仓库,无法通过项目设置进行控制。例如,如果您有一个公开项目并将仓库可见性设置为仅项目成员,则软件包库是公开的。但是,禁用软件包库会禁用所有软件包库操作。
匿名 (互联网上的任何人) | Guest | Reporter, Developer, Maintainer, Owner | ||
---|---|---|---|---|
启用软件包库的公开项目 | 查看软件包库 以及拉取包 | Yes | Yes | Yes |
启用软件包库的内部项目 | 查看软件包库 以及拉取包 | No | Yes | Yes |
启用软件包库的私有项目 | 查看软件包库 以及拉取包 | No | No | Yes |
禁用软件包库的任何项目 | 软件包库上的所有操作 | No | No | No |
支持的软件包管理器
并非所有包管理器格式都可以用于生产。要查看每种格式的状态,请参阅表格的 状态 列。
软件包库支持以下格式:
软件包类型 | GitLab 版本 | 状态 |
---|---|---|
Maven | 11.3+ | GA |
npm | 11.7+ | GA |
NuGet | 12.8+ | GA |
PyPI | 12.10+ | GA |
Generic packages | 13.5+ | GA |
Composer | 13.2+ | Beta |
Conan | 12.6+ | Beta |
Helm | 14.1+ | Beta |
Debian | 14.2+ | Alpha |
Go | 13.1+ | Alpha |
Ruby gems | 13.10+ | Alpha |
状态说明:
- Alpha:在功能标志后面,不受官方支持。
- 测试版:可能会存在阻止使用的几个已知问题。
- GA(通用):准备好以任何规模用于生产。