GitLab Features
Fundamentally changing the way Development, Security, and Ops teams collaborate and build software - GitLab provides all of the essential DevSecOps tools in one DevSecOps platform. From idea to production, GitLab helps teams improve cycle time from weeks to minutes, reduce development costs, speed time to market, and deliver more secure and compliant applications.

Artifact Registry
Create a consistent and dependable software supply chain with built-in package management.
GitLab enables teams to package their applications and dependencies, manage containers, and build artifacts with ease. The private, secure, container and package registry are built-in and preconfigured out-of-the box to work seamlessly with GitLab source code management and CI/CD pipelines. Ensure DevSecOps acceleration and a faster time to market with automated software pipelines that flow freely without interruption.

Package Registry
Use GitLab as a private or public registry for a variety of supported package managers. You can publish and share packages, which can be consumed as a dependency in downstream projects.
Package Registry
Package Registry cleanup policies
A cleanup policy defines a set of rules that, applied to a project, defines which package assets you can automatically delete.
Package Registry
Forward requests for npm packages not found in GitLab to npmjs.com
By default, when an npm package is not found in the GitLab registry, the request is forwarded to npmjs.com
Package Registry
Forward requests for Python packages not found in GitLab to PyPI.org
By default, when a PyPI package is not found in the GitLab registry, the request is forwarded to PyPI.org
Package Registry
Forward requests for Maven packages not found in GitLab to Maven central
By default, when a Maven package is not found in the GitLab registry, the request is forwarded to Maven central
Package Registry

Conan (C/C++) Repository
Conan is an open source, decentralized and multi-platform C/C++ Package Manager for developers to create and share native binaries.
Package Registry

Maven (Java) Repository
GitLab's Maven repository makes it easier to publish and share Java libraries across an organization, and ensure dependencies are managed correctly. It is fully integrated with GitLab, including authentication and authorization.
Package Registry

npm (node) Registry
GitLab's NPM repository makes it easier to publish and share NPM packages across an organization, and ensure dependencies are managed correctly. It is fully integrated with GitLab, including authentication and authorization.
Package Registry

NuGet (.NET) Repository
GitLab's NuGet Repository allows C#/.NET developers to create, publish and share packages using the NuGet client or visual studio.
Package Registry
PyPI (Python) Repository
Python developers can set up GitLab as a remote PyPI repository and build, publish, and share packages using the PyPI client or GitLab CI/CD.
Package Registry
Terraform Module Registry
Publish Terraform modules in your project’s Infrastructure Registry, then reference them using GitLab as a Terraform module registry.
Package Registry
Go Proxy
This feature helps Go developers to publish and share their packages right alongside their source code and pipelines. This will also be a valuable feature for GitLab and help with dogfooding
Package Registry

Composer (PHP) Repository
This feature helps PHP developers to build, publish and share their packages right alongside their source code and pipelines.
Package Registry

Use the Package Registry through REST API
Enables support for automation and integration of the GitLab Package Registry through a REST API.
Package Registry
Package debugging with an integrated web terminal
Easily debug your packages in any of your environments using the built-in GitLab Web Terminal. GitLab can open a terminal session directly from your environment if your application is deployed on Kubernetes. This is a very powerful feature where you can quickly debug issues without leaving the comfort of your web browser.
Package Registry
Publish and share package versions
Each version of a package is nested under its uniquely-named parent. Now you can easily find the package you are looking for in the UI and better understand what has changed from version to version.
Package Registry
Generic Package Registry
GitLab supports a wide variety of languages in our Package Registry offering. However, you may want to store other binary types in GitLab that are not yet supported. GitLab supports raw package feeds (like you could do in Nexus) to a Generic Package Registry. Looking forward, this feature helps create the foundation for Release Assets and will ultimately make it easier for you to package and release your software with GitLab.
Helm Chart Registry
An integrated Helm chart registry to store Helm charts for each GitLab project. Building, uploading, and installing Helm charts works out of the box with GitLab. Helm is the package manager for Kubernetes.
Helm Chart Registry
Helm chart repository support
Supports storage and retrieval of Helm charts.
Container Registry
An integrated container registry to store container images for each GitLab project. Creating, pushing, and retrieving images works out of the box with GitLab CI/CD.
Container Registry

Built-in Container Registry
GitLab Container Registry is a secure and private registry for Docker images. It allows for easy upload and download of images from GitLab CI. It is fully integrated with Git repository management. (Codefresh will be ending their support for private docker registries as of May 1, 2020
Container Registry
Built for using containers and Docker
GitLab ships with its own Container Registry, Docker CI Runner, and is ready for a complete CI/CD container workflow. There is no need to install, configure, or maintain additional plugins.
Container Registry
Docker image support
Supports storage and retrieval of Docker style containers.
Container Registry
Container registry webhooks
Trigger actions after a successful push to a registry to integrate Docker Hub with other services.
Container Registry
Container registry high availability
Highly available through the use of multiple replicas of all containers and metadata such that if a machine fails, the registry continues to operate and can be repaired.
Container Registry
Container Registry geographic replication
Supports distributed teams by running multiple registry instances across several regions and syncing between data centers.
Container Registry
Supports private container registries
Offers the ability to have private container registries and repositories
Container Registry
SaaS container registry offering
The container registry is available as a software service.
Container Registry
Use container registry through REST API
Enables support for automation and integration of container registry through a REST API.
Container Registry
Container registry storage management
In the context of the Docker registry, garbage collection is the process of removing blobs from the filesystem when they are no longer referenced by a manifest.
Container Registry
Group-level Docker registry browser
A single UI view into images across multiple repositories.
Container Registry
Use search to find and container images
Search your group and project's Container Registry by image name
Container Registry
Cloud Native
GitLab and its CI/CD is Cloud Native, purpose built for the cloud model. GitLab can be easily deployed on Kubernetes and used to deploy your application to Kubernetes with support out of the box.
Container Registry
Container debugging with an integrated web terminal
Easily debug your containers in any of your environments using the built-in GitLab Web Terminal. GitLab can open a terminal session directly from your environment if your application is deployed on Kubernetes. This is a very powerful feature where you can quickly debug issues without leaving the comfort of your web browser.
Container Registry
Container image cleanup policies
Easily define, manage and update project-level policies to define which images should be removed and preserved. This feature is designed to help you reduce storage costs and prevent important images from being deleted.
Container Registry
Global Docker registry browser
A single UI view into images across multiple repositories.