GitLab Package Registry
docs.gitlab.com
What it is
GitLab Package Registry lets projects publish packages for downstream projects to use as dependencies. It can be private or public for supported package managers and is available on GitLab.com, GitLab Self-Managed, and GitLab Dedicated within Free, Premium, and Ultimate. Generally available formats include Generic packages, Helm, Maven, npm, NuGet, and PyPI; Composer and Conan are beta, while Debian, Go, and Ruby gems are experiments. Conda, CRAN, RPM, and Swift are not supported. A project can host multiple package types, including packages built from a monorepo. GitLab CI/CD can build or import packages, with jobs authenticating through CI_JOB_TOKEN, and the registry can be administered through an API. Project roles govern access; protection rules can restrict pushes or deletions for supported formats. Publication and deletion audit events are available when enabled, but require Premium or Ultimate. The dependency proxy is a beta feature on those paid tiers. GitLab is all-remote and has no physical headquarters.
Spec sheet
- Purpose
- The registry lets users publish and share packages that downstream projects can consume as dependencies.Read 29 Sep 2026 · docs.gitlab.com
- Support
- The Premium plan includes Priority Support; GitLab states paid-plan support is 24/7 for Emergency severity and 24/5 for other impact levels.Read 29 Sep 2026 · about.gitlab.com
- Headquarters
- No physical headquarters; GitLab is all-remoteRead 28 Sep 2026 · docs.gitlab.com
- Founded
- 2011Read 28 Sep 2026 · docs.gitlab.com
- Access controls
- Project roles govern package access; for private projects, Reporters can view and pull packages and Developers can publish them.Read 29 Sep 2026 · docs.gitlab.com
- API and automation
- The registry can be administered through an API, and generic packages support API access for automation.Read 29 Sep 2026 · docs.gitlab.com
- Audit events
- Package publication and deletion can generate audit events when the namespace setting is enabled; audit events are a Premium and Ultimate feature.Read 29 Sep 2026 · docs.gitlab.com
- Availability
- The Package Registry is included in Free, Premium and Ultimate and is offered on GitLab.com, GitLab Self-Managed and GitLab Dedicated.Read 29 Sep 2026 · docs.gitlab.com
- CI/CD integration
- GitLab CI/CD can build or import packages, and jobs can authenticate to the registry with CI_JOB_TOKEN.Read 29 Sep 2026 · docs.gitlab.com
- Dependency proxy
- The dependency proxy caches copies of upstream packages to reduce external downloads and speed up builds; GitLab marks this feature beta and Premium/Ultimate.Read 29 Sep 2026 · docs.gitlab.com
- Known limits
- GitLab lists Conda, CRAN, RPM and Swift among package formats that are not supported by the registry.Read 29 Sep 2026 · docs.gitlab.com
- npm security behavior
- For npm audits, GitLab forwards requests to npmjs.com by default to retrieve vulnerability information, and warns that audit request bodies can include private package information.Read 29 Sep 2026 · docs.gitlab.com
- Package protection
- Package protection rules can restrict who may push or delete matching packages, with support documented for npm, PyPI, Maven and Conan.Read 29 Sep 2026 · docs.gitlab.com
- Package workflows
- A project can host packages for multiple package types, including packages built from a monorepo.Read 29 Sep 2026 · docs.gitlab.com
- Supported formats
- Generally available formats include Generic packages, Helm, Maven, npm, NuGet and PyPI; Composer and Conan are beta, while Debian, Go and Ruby gems are experiments.Read 29 Sep 2026 · docs.gitlab.com
- Visibility
- GitLab can be used as a private or public registry for supported package managers.Read 29 Sep 2026 · docs.gitlab.com
Plans and prices
Strong points and limits
Strong points
- Supports private and public package registries.
- Available on GitLab.com, Self-Managed, and Dedicated.
- CI/CD jobs can authenticate with CI_JOB_TOKEN.
- Projects can host multiple package types.
- API access supports administration and automation.
Limits
- Conda, CRAN, RPM, and Swift are unsupported.
- Several formats are beta or experimental.
- Audit events require Premium or Ultimate.
- Dependency proxy is beta and limited to paid tiers.
Who it suits
The registry suits teams publishing package dependencies alongside GitLab projects, including teams using GitLab CI/CD or multiple package types in a monorepo. Check supported formats and tier limits if audit events or dependency proxying are required.
GitLab Package Registry in depth
Read the full write-up
Overview
GitLab Package Registry gives teams a place to publish and share packages for downstream projects to consume as dependencies. It suits teams already using GitLab for source projects and CI/CD, particularly when package access should follow project roles. Its main advantage is workflow and permission integration; format maturity and plan limits deserve close attention.
Key features
Formats and workflows
Generally available formats include Generic packages, Helm, Maven, npm, NuGet and PyPI. Composer and Conan are beta, while Debian, Go and Ruby gems are experimental; Conda, CRAN, RPM and Swift are unsupported. That covers several common ecosystems, but teams relying on beta or experimental support should be cautious about making it a critical publishing path.
A project can host multiple package types, including packages built from a monorepo. The API supports registry administration, and Generic packages support API access for automation. GitLab CI/CD can build or import packages, with jobs authenticating through CI_JOB_TOKEN, tying package work to the project pipeline rather than a separate publishing flow.
Access, protection and auditing
Project roles govern package access. In private projects, Reporters can view and pull packages, while Developers can publish. Package protection rules can restrict who may push or delete matching packages; support is documented for npm, PyPI, Maven and Conan. These controls make the registry a sensible fit where package operations should track project permissions, though protection is not documented across every format.
Publication and deletion can generate audit events when the namespace setting is enabled, but audit events are limited to Premium and Ultimate. The dependency proxy caches upstream packages to reduce external downloads and speed builds, but it is beta and also requires Premium or Ultimate. Those features strengthen the case for paid plans when auditability or upstream caching matters.
For npm audits, GitLab forwards requests to npmjs.com by default to retrieve vulnerability information. GitLab warns that audit request bodies can include private package information, so teams should account for that behavior when handling private packages.
Pricing
The registry is included in Free, Premium and Ultimate, and the product is offered on a freemium model with a 30-day trial. The plan choice is shaped by shared GitLab compute and storage allowances as well as registry features.
Free: free, billed per user/month. It caps each top-level group at 5 users, with 400 compute minutes/month and 10 GiB adjustable storage. This is a practical starting point for small groups, but the seat and resource ceilings can constrain growing teams.
Premium: $29 a year, billed per user/month and billed annually. It includes 10,000 compute minutes/month, 500 GiB storage, Priority Support, audit events and the beta dependency proxy. The higher allowances suit teams with heavier pipeline usage or a need for those controls; support is 24/7 for Emergency severity and 24/5 for other impact levels.
Ultimate: custom pricing, with 50,000 compute minutes/month and 500 GiB storage. It includes the registry and the tier-dependent audit and proxy features, making it the option for teams whose requirements exceed Premium's compute allowance and who can work with custom pricing.
The stated paid-from price is 29/user/mo on annual billing. Free has no paid renewal term, while the paid price is billed annually; the trial lasts 30 days. Git LFS storage is 500 GB. The registry is available on GitLab.com, GitLab Self-Managed and GitLab Dedicated, so teams can choose among hosted and self-managed deployment options.
Platforms
GitLab Package Registry is available on web and Linux, through an API, and as a self-hosted offering. GitLab also offers it on GitLab.com and GitLab Dedicated. This range suits teams that want the registry alongside GitLab in either hosted or self-managed environments.
Who it's for
Choose it if your projects already use GitLab and you want publishing, downstream consumption, CI/CD authentication and project-level access controls in one workflow. It is less compelling if your essential format is unsupported, or if beta and experimental formats are too risky for your publishing path. Teams needing audit events or dependency proxying must budget for Premium or Ultimate.
Pros and cons
Pro: CI/CD jobs can build or import packages and authenticate with CI_JOB_TOKEN, connecting package publishing to existing project pipelines.
Pro: Private-project roles distinguish readers from publishers, while supported protection rules can limit pushes and deletions.
Pro: Free includes the registry, making it possible to begin without a separate registry subscription.
Con: Several formats are beta or experimental, and Conda, CRAN, RPM and Swift are unsupported.
Con: Free limits groups to 5 users and provides 400 compute minutes/month and 10 GiB adjustable storage.
Con: Audit events and the beta dependency proxy require Premium or Ultimate; npm audit requests also go to npmjs.com by default and may contain private package information.
Alternatives
For a broader application-lifecycle-management comparison, see Application Lifecycle Management Software; for a GitOps-focused shortlist, see GitOps Tools. Readers comparing adjacent categories can also browse ML Experiment Tracking Software, Model Registry Software, Game Version Control Software and Preview Environment Software.
Innoslate is another option, with a free plan and a free trial. TechExcel ProjectOne ALM is a paid alternative with a free trial and mobile as well as web and self-hosted platforms. ONES offers a free plan and free trial. Creo is a paid option spanning web, desktop and mobile platforms. Rally Software has a free Starter Edition for 50 named users in listed countries. Kovair ALM provides pricing by company quote. SAP Cloud ALM is free for eligible support customers. TechExcel DevSuite is a paid cloud ALM suite with annual per-user pricing.
Verdict
GitLab Package Registry is the right choice for teams already building in GitLab that want package publishing governed by project roles and connected to CI/CD. Its strongest reason to choose it is that integrated workflow; its strongest reason to look elsewhere is a reliance on unsupported or immature formats, or a need to avoid tier-gated audit and proxy features.
Verdict
GitLab Package Registry connects package publishing to project access controls and CI/CD workflows. Verify that your package format is supported and that any tier-dependent audit or proxy feature fits your plan.
Where Specifiction places it
- Application Lifecycle Management Software#2 of 238.7
- Model registries#6 of 388.7
- GitOps Tools#6 of 358.6
- Preview Environment Software#8 of 388.6
- Git Hosting Services#11 of 358.3
- Game Version Control Software#11 of 288.4