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

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

image for Package Registry cleanup policies

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

image for Forward requests for npm packages not found in GitLab to npmjs.com

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

image for Forward requests for Python packages not found in GitLab to PyPI.org

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

image for Forward requests for Maven packages not found in GitLab to Maven central

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

image for Conan (C/C++) Repository

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

image for Maven (Java) Repository

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

image for npm (node) 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

image for NuGet (.NET) Repository

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

image for PyPI (Python) Repository

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

image for Terraform Module 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

image for Go Proxy

Go Proxy

*Only available on Self-Managed

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

image for Composer (PHP) Repository

Composer (PHP) Repository

This feature helps PHP developers to build, publish and share their packages right alongside their source code and pipelines.

Package Registry

image for Use the Package Registry through REST API

Use the Package Registry through REST API

Enables support for automation and integration of the GitLab Package Registry through a REST API.

Package Registry

image for Package debugging with an integrated web terminal

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

image for Publish and share package versions

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

image for Generic 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

image for Helm chart repository support

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

image for Built-in 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

image for Built for using containers and Docker

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

image for Docker image support

Docker image support

Supports storage and retrieval of Docker style containers.

Container Registry

image for Container registry webhooks

Container registry webhooks

Trigger actions after a successful push to a registry to integrate Docker Hub with other services.

Container Registry

image for Container registry high availability

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

image for Container Registry geographic replication

Container Registry geographic replication

*Only available on Self-Managed

Supports distributed teams by running multiple registry instances across several regions and syncing between data centers.

Container Registry

image for Supports private container registries

Supports private container registries

Offers the ability to have private container registries and repositories

Container Registry

image for SaaS container registry offering

SaaS container registry offering

The container registry is available as a software service.

Container Registry

image for Use container registry through REST API

Use container registry through REST API

Enables support for automation and integration of container registry through a REST API.

Container Registry

image for Container registry storage management

Container registry storage management

*Only available on Self-Managed

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

image for Group-level Docker registry browser

Group-level Docker registry browser

A single UI view into images across multiple repositories.

Container Registry

image for Use search to find and container images

Use search to find and container images

Search your group and project's Container Registry by image name

Container Registry

image for Cloud Native

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

image for Container debugging with an integrated web terminal

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

image for Container image cleanup policies

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

image for Global Docker registry browser

Global Docker registry browser

A single UI view into images across multiple repositories.

Ready to get started?

See what your team can do with the most comprehensive
AI-powered DevSecOps platform.