GitLab Package Registry

GitLab Packages allows organizations to utilize GitLab as a private repository for a variety of common package managers. Users are able to build and publish packages, which can be easily consumed as a dependency in downstream projects.

The Packages feature allows GitLab to act as a repository for the following:

Software repository Description Available in GitLab version
Container Registry The GitLab Container Registry enables every project in GitLab to have its own space to store Docker images. 8.8+
Dependency Proxy (PREMIUM) The GitLab Dependency Proxy sets up a local proxy for frequently used upstream images/packages. 11.11+
Conan Repository (PREMIUM) The GitLab Conan Repository enables every project in GitLab to have its own space to store Conan packages. 12.6+
Maven Repository (PREMIUM) The GitLab Maven Repository enables every project in GitLab to have its own space to store Maven packages. 11.3+
NPM Registry (PREMIUM) The GitLab NPM Registry enables every project in GitLab to have its own space to store NPM packages. 11.7+
NuGet Repository (PREMIUM) COMING SOON The GitLab NuGet Repository will enable every project in GitLab to have its own space to store NuGet packages. 12.7 (planned)

TIP: Tip: Don't you see your package management system supported yet? Consider contributing to GitLab. This development documentation will guide you through the process. Or check out how other members of the community are adding support for PHP or Terraform.

NOTE: Note We are especially interested in adding support for PyPi, RubyGems, Debian, and RPM.

Package workflows

Learning how to use the GitLab Package Registry will help you build your own custom package workflow.

Use a project as a package registry to publish all of your packages to one project.