> ## Documentation Index
> Fetch the complete documentation index at: https://www.qovery.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployment

> Understand how Qovery deploys your applications

## Overview

The deployment is the process of creating all the necessary resources to run your applications on your cloud account based on the configuration done on the Qovery console.

<img src="https://mintcdn.com/qovery/WNziXf4RMpwxPjDI/images/deployment/deployment_overview_qovery.png?fit=max&auto=format&n=WNziXf4RMpwxPjDI&q=85&s=352b4f9929e9d15ce669e71c0a62a2a3" alt="Deployment Overview" width="3628" height="1330" data-path="images/deployment/deployment_overview_qovery.png" />

## How It Works

Here's the complete deployment flow:

<Steps>
  <Step title="Code Push">
    A developer commits code to the Git repository
  </Step>

  <Step title="Trigger">
    The deployment can be triggered in three ways:

    * **Auto-deploy activated**: A webhook automatically triggers the deployment when a commit is pushed
    * **Auto-deploy inactive**: Your CI/CD manages the deployment
    * **Manual trigger**: Deploy manually from the Qovery console
  </Step>

  <Step title="Pipeline Processing">
    The Qovery engine processes your deployment pipeline configuration
  </Step>

  <Step title="Code Retrieval">
    The engine pulls the code from your Git repository
  </Step>

  <Step title="Build & Registry">
    The engine builds your code and pushes the container image to your cloud registry
  </Step>

  <Step title="Infrastructure Setup">
    The engine creates the load balancers and configures networking
  </Step>

  <Step title="Kubernetes Deployment">
    The engine creates a Kubernetes namespace and deploys your application
  </Step>

  <Step title="Domain Configuration">
    The engine sets up your custom domain and configures TLS certificates
  </Step>
</Steps>

<Note>
  For applications deployed from a container registry, the deployment workflow is modified - the build step is skipped and Qovery directly deploys the pre-built container image.
</Note>

## Monitoring Deployments

As a developer, you can track the deployment through:

* **Deployment Status**: Monitor the deployment and running status of your services
* **Real-time Logs**: Access logs during deployment and while your application is running
* **Deployment History**: Review details of past deployments

Qovery provides you with a complete set of [Deployment Actions](/configuration/deployment/actions) allowing you to manage the deployment lifecycle, including stop and restart functions.

## Next Steps

<CardGroup cols={2}>
  <Card title="Set Up Auto-Deploy" icon="rotate" href="/configuration/deployment/auto-deploy">
    Configure automatic deployments from your Git repository
  </Card>

  <Card title="Configure CI/CD" icon="code-branch" href="/configuration/integrations/ci-cd/github-actions">
    Integrate Qovery with your existing CI/CD pipeline
  </Card>

  <Card title="Deployment Pipeline" icon="diagram-project" href="/configuration/deployment/pipeline">
    Understand and customize deployment stages
  </Card>

  <Card title="Deployment Strategies" icon="chess" href="/configuration/deployment/strategies">
    Choose between rolling updates and recreate strategies
  </Card>
</CardGroup>
