🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# GitLab Package Registry > 原文:[https://docs.gitlab.com/ee/user/packages/](https://docs.gitlab.com/ee/user/packages/) * [View packages](#view-packages) * [Use GitLab CI/CD to build packages](#use-gitlab-cicd-to-build-packages) * [Download a package](#download-a-package) * [Delete a package](#delete-a-package) * [Disable the Package Registry](#disable-the-package-registry) * [Package workflows](#package-workflows) * [Suggested contributions](#suggested-contributions) # GitLab Package Registry[](#gitlab-package-registry "Permalink") 借助 GitLab 软件包注册表,您可以将 GitLab 用作各种常见软件包管理器的私有或公共存储库. 您可以构建和发布程序包,这些程序包可以很容易地作为下游项目中的依赖项使用. GitLab 充当以下内容的存储库: | 软件库 | Description | 在 GitLab 版本中可用 | | --- | --- | --- | | [Container Registry](container_registry/index.html) | GitLab 容器注册表使 GitLab 中的每个项目都有自己的空间来存储[Docker](https://www.docker.com/)映像. | 8.8+ | | [Dependency Proxy](dependency_proxy/index.html) | GitLab 依赖代理为经常使用的上游映像/软件包设置了本地代理. | 11.11+ | | [Conan Repository](conan_repository/index.html) | GitLab 柯南存储库使 GitLab 中的每个项目都有自己的空间来存储[柯南](https://conan.io/)软件包. | 12.6+ | | [Maven Repository](maven_repository/index.html) | GitLab Maven 存储库使 GitLab 中的每个项目都有自己的空间来存储[Maven](https://maven.apache.org/)软件包. | 11.3+ | | [NPM Registry](npm_registry/index.html) | GitLab NPM 注册表使 GitLab 中的每个项目都有自己的空间来存储[NPM](https://s0www0npmjs0com.icopy.site/)软件包. | 11.7+ | | [NuGet Repository](nuget_repository/index.html) | GitLab NuGet 存储库将使 GitLab 中的每个项目都有自己的空间来存储[NuGet](https://www.nuget.org/)软件包. | 12.8+ | | [PyPi Repository](pypi_repository/index.html) | GitLab PyPi 存储库将使 GitLab 中的每个项目都有自己的空间来存储[PyPi](https://s0pypi0org.icopy.site/)软件包. | 12.10+ | | [Go Proxy](go_proxy/index.html) | GitLab 的 Go 代理使 GitLab 中的每个项目都可以通过[Go 代理协议](https://proxy.golang.org/)获取. | 13.1+ | | [Composer Repository](composer_repository/index.html) | GitLab Composer 存储库将使 GitLab 中的每个项目都有自己的空间来存储[Composer](https://s0getcomposer0org.icopy.site/)软件包. | 13.2+ | ## View packages[](#view-packages "Permalink") 您可以查看项目或组的软件包. 1. 转到项目或组. 2. 去 **程序包和注册表>程序包注册表** . 您可以在此页面上搜索,排序和过滤软件包. 有关如何创建和上传软件包的信息,请查看您的软件包类型的 GitLab 文档. ## Use GitLab CI/CD to build packages[](#use-gitlab-cicd-to-build-packages "Permalink") 您可以使用[GitLab CI / CD](./../../ci/README.html)来构建软件包. 对于 Maven 和 NPM 软件包以及 Composer 依赖项,可以使用`CI_JOB_TOKEN`向 GitLab 进行身份验证. CI / CD 模板,你可以用它来上手,在[此回购](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates) . 了解有关[使用 CI / CD 构建 Maven 软件包](maven_repository/index.html#creating-maven-packages-with-gitlab-cicd)和[NPM 软件包的更多信息](npm_registry/index.html#publishing-a-package-with-cicd) . 如果使用 CI / CD 构建软件包,则在查看软件包详细信息时会显示扩展的活动信息: [![Package CI/CD activity](https://img.kancloud.cn/87/b6/87b6d9567a9bc5cd42e75f6aaf1af283_1200x244.png)](img/package_activity_v12_10.png) 您可以查看哪个管道发布了程序包,以及触发该程序包的提交和用户. ## Download a package[](#download-a-package "Permalink") 要下载软件包: 1. 去 **程序包和注册表>程序包注册表** . 2. 单击您要下载的软件包的名称. 3. 在" **活动"**部分中,单击要下载的程序包的名称. ## Delete a package[](#delete-a-package "Permalink") 在程序包注册表中发布程序包后,您将无法对其进行编辑. 相反,您必须删除并重新创建它. * 您无法从组视图中删除软件包. 您必须改为从项目视图中删除它们. 有关详细信息,请参[见此问题](https://gitlab.com/gitlab-org/gitlab/-/issues/227714) . * 您必须具有适当的[权限](../permissions.html) . 您可以使用[API](../../api/packages.html#delete-a-project-package)或 UI 删除软件包. 要在用户界面中删除程序包: 1. 去 **程序包和注册表>程序包注册表** . 2. 查找您要删除的程序包的名称. 3. Click **Delete**. 该软件包将被永久删除. ## Disable the Package Registry[](#disable-the-package-registry "Permalink") 程序包注册表自动启用. 如果您使用的是 GitLab 的自我管理实例,则管理员可以删除菜单项, **软件包和注册表** ,位于 GitLab 侧边栏. 有关更多信息,请参阅[管理文档](../../administration/packages/index.html) . 您还可以专门删除项目的 Package Registry: 1. 在您的项目中,转到 **设置>常规** . 2. 展开" **可见性","项目功能","权限"**部分,并禁用" **软件包"**功能. 3. Click **Save changes**. 的 **Packages&Registries> Package Registry**条目已从侧栏中删除. ## Package workflows[](#package-workflows "Permalink") 了解如何使用 GitLab 软件包注册表来构建自己的自定义软件包工作流程. * [使用项目作为程序包注册表](./workflows/project_registry.html)将所有[程序包](./workflows/project_registry.html)发布到一个项目. * 从一个[monorepo 项目](./workflows/monorepo.html)发布多个不同的软件包. ## Suggested contributions[](#suggested-contributions "Permalink") 考虑为 GitLab 做贡献. 此[开发文档](../../development/packages.html)将指导您完成该过程. 或者查看社区的其他成员如何添加对[PHP](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17417)或[Terraform 的](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18834)支持. | Format | 用例 | | --- | --- | | [Cargo](https://gitlab.com/gitlab-org/gitlab/-/issues/33060) | Cargo 是 Rust 的包裹经理. 构建,发布和共享 Rust 包 | | [Chef](https://gitlab.com/gitlab-org/gitlab/-/issues/36889) | 使用 Chef 的配置管理,利用存储库管理器的所有优点. | | [CocoaPods](https://gitlab.com/gitlab-org/gitlab/-/issues/36890) | 使用 Xcode 和 CocoaPods 加快开发速度. | | [Conda](https://gitlab.com/gitlab-org/gitlab/-/issues/36891) | 安全和私有的本地 Conda 存储库. | | [CRAN](https://gitlab.com/gitlab-org/gitlab/-/issues/36892) | 部署和解析 R 语言的 CRAN 软件包. | | [Debian](https://gitlab.com/gitlab-org/gitlab/-/issues/5835) | 托管和设置 Debian 软件包. | | [Opkg](https://gitlab.com/gitlab-org/gitlab/-/issues/36894) | 使用 Opkg 存储库优化 OpenWrt 的工作. | | [P2](https://gitlab.com/gitlab-org/gitlab/-/issues/36895) | 将所有 Eclipse 插件托管在自己的 GitLab P2 存储库中. | | [Puppet](https://gitlab.com/gitlab-org/gitlab/-/issues/36897) | 配置管理通过 Puppet 存储库满足存储库管理. | | [RPM](https://gitlab.com/gitlab-org/gitlab/-/issues/5932) | 直接从 GitLab 分发 RPM. | | [RubyGems](https://gitlab.com/gitlab-org/gitlab/-/issues/803) | 使用 GitLab 托管您自己的宝石. | | [SBT](https://gitlab.com/gitlab-org/gitlab/-/issues/36898) | 运行 SBT 构建时,解析来自 SBT 存储库的依赖性并将构建输出部署到 SBT 存储库. | | [Vagrant](https://gitlab.com/gitlab-org/gitlab/-/issues/36899) | 将您的 Vagrant 盒子安全地托管在本地存储库中. |