Packages and Registries (FREE)

The GitLab Package Registry acts as a private or public registry for a variety of common package managers. You can publish and share packages, which can be easily consumed as a dependency in downstream projects.

The Package Registry supports the following formats:

Package type GitLab version
Composer 13.2+
Conan 12.6+
Go 13.1+
Maven 11.3+
npm 11.7+
NuGet 12.8+
PyPI 12.10+
Generic packages 13.5+
Ruby gems 13.10+

You can also use the API to administer the Package Registry.

Accepting contributions

The below table lists formats that are not supported, but are accepting Community contributions for. Consider contributing to GitLab. This development documentation guides you through the process.

Format Status
Chef #36889
CocoaPods #36890
Conda #36891
CRAN #36892
Debian Draft: Merge Request
Helm #18997
Opkg #36894
P2 #36895
Puppet #36897
RPM #5932
SBT #36898
Vagrant #36899

Container Registry

The GitLab Container Registry is a secure and private registry for container images. It's built on open source software and completely integrated within GitLab. Use GitLab CI/CD to create and publish images. Use the GitLab API to manage the registry across groups and projects.

Infrastructure Registry

The GitLab Infrastructure Registry is a secure and private registry for infrastructure packages. You can use GitLab CI/CD to create and publish infrastructure packages.

The Infrastructure Registry supports the following formats:

Package type GitLab version
Terraform Module 14.0+

Dependency Proxy

The Dependency Proxy is a local proxy for frequently-used upstream images and packages.