Deploy and release your application

Deployment is the step of the software delivery process when your application gets deployed to its final, target infrastructure.

You can deploy your application internally or to the public. Preview a release in a review app, and use feature flags to release features incrementally.

     
Getting started
Overview of how features fit together.
Packages and registries
Package management, container registry, artifact storage, dependency management.
Environments and deployments
Environments, deployments, rollbacks, safety, approvals.
Releases
Releases, versioning, assets, tags, milestones, evidence.
Roll out an application incrementally
Kubernetes, CI/CD, risk mitigation, deployment.
Feature flags
Progressive delivery, controlled deployment, risk reduction.
GitLab Pages
Static site hosting, documentation publishing, project websites, custom domains.
   
  • Auto DevOps is an automated CI/CD-based workflow that supports the entire software supply chain: build, test, lint, package, deploy, secure, and monitor applications using GitLab CI/CD. It provides a set of ready-to-use templates that serve the vast majority of use cases.
  • Auto Deploy is the DevOps stage dedicated to software deployment using GitLab CI/CD. Auto Deploy has built-in support for EC2 and ECS deployments.
  • Deploy to Kubernetes clusters by using the GitLab agent.
  • Use Docker images to run AWS commands from GitLab CI/CD, and a template to facilitate deployment to AWS.
  • Use GitLab CI/CD to target any type of infrastructure accessible by GitLab Runner. User and pre-defined environment variables and CI/CD templates support setting up a vast number of deployment strategies.
  • Use GitLab Cloud Seed, an open-source Incubation Engineering program, to set up deployment credentials and deploy your application to Google Cloud Run with minimal friction.