2021-05-27 14:10:52 -04:00
---
2022-01-06 19:13:12 -05:00
stage: none
group: unassigned
2021-05-27 14:10:52 -04:00
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
2021-11-02 20:13:30 -04:00
# Deploy and release your application **(FREE)**
2021-05-27 14:10:52 -04:00
2021-11-02 20:13:30 -04:00
Deploy your application internally or to the public. Use
2021-05-27 14:10:52 -04:00
flags to release features incrementally.
2022-01-13 10:14:46 -05:00
## Deployments
Deployment is the step of the software delivery process when your application gets deployed to its
final, target infrastructure.
### Deploy with Auto DevOps
[Auto DevOps ](autodevops/index.md ) 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 ](autodevops/stages.md#auto-deploy ) is the DevOps stage dedicated to software
deployment using GitLab CI/CD.
### Deploy applications to Kubernetes clusters
With the extensive integration between GitLab and Kubernetes, you can safely deploy your applications
2022-02-21 19:14:20 -05:00
to Kubernetes clusters using the [GitLab agent ](../user/clusters/agent/install/index.md ).
2022-01-13 10:14:46 -05:00
#### GitOps deployments **(PREMIUM)**
2022-02-23 19:18:13 -05:00
With the [GitLab agent for Kubernetes ](../user/clusters/agent/install/index.md ), you can perform [pull-based
2022-02-17 13:19:40 -05:00
deployments of Kubernetes manifests](../user/clusters/agent/gitops.md). This provides a scalable, secure, and cloud-native
2022-01-13 10:14:46 -05:00
approach to manage Kubernetes deployments.
2022-02-23 19:18:13 -05:00
#### Deploy to Kubernetes from GitLab CI/CD
2022-01-13 10:14:46 -05:00
2022-02-23 19:18:13 -05:00
With the [GitLab agent for Kubernetes ](../user/clusters/agent/install/index.md ), you can perform [push-based
2022-04-22 11:09:52 -04:00
deployments](../user/clusters/agent/ci_cd_workflow.md) from GitLab CI/CD. The agent provides
2022-01-13 10:14:46 -05:00
a secure and reliable connection between GitLab and your Kubernetes cluster.
### Deploy to AWS with GitLab CI/CD
GitLab provides Docker images that you can use to run AWS commands from GitLab CI/CD, and a template to
facilitate [deployment to AWS ](../ci/cloud_deployment ). Moreover, Auto Deploy has built-in support
for EC2 and ECS deployments.
### General software deployment with GitLab CI/CD
You can use GitLab CI/CD to target any type of infrastructure accessible by the GitLab Runner.
[User and pre-defined environment variables ](../ci/variables/index.md ) and CI/CD templates
support setting up a vast number of deployment strategies.
## Environments
To keep track of your deployments and gain insights into your infrastructure, we recommend
connecting them to [a GitLab Environment ](../ci/environments/index.md ).
## Releases
Use GitLab [Releases ](../user/project/releases/index.md ) to plan, build, and deliver your applications.
### Feature flags
2022-01-26 04:14:20 -05:00
Use [feature flags ](../operations/feature_flags.md ) to control and strategically rollout application deployments.
2022-03-29 08:08:03 -04:00
## Deploy to Google Cloud
2022-04-25 11:08:44 -04:00
GitLab [Cloud Seed ](../cloud_seed/index.md ) is an open-source Incubation Engineering program that
2022-03-29 08:08:03 -04:00
enables you to set up deployment credentials and deploy your application to Google Cloud Run with minimal friction.