Overview
The deployment pipeline is composed of Deployment Stages. Each service within your environment belongs to exactly one deployment stage. Deployment stages are ordered by execution priority - a stage with a lower order is executed before a stage with a higher order. This allows you to control the deployment sequence and manage dependencies between services.
Pipeline Execution
Build Phase
During the build phase:- Qovery CI downloads the repositories and generates container images
- Maximum parallelism: 7 builds can run simultaneously
- Build resources: Each build uses 4 CPU and 4 GB memory by default
- Image storage: Built images are pushed to the mirroring registry
- Pre-built images: Applications deployed from external CI/CD can bypass this step by using pre-built images from container registries

Deployment Phase
During the deployment phase:- Qovery engine manages deployment via Helm charts
- Maximum parallelism: 7 deployments can run simultaneously
- Image retrieval: Images are pulled from the mirroring registry
- Chart generation: Custom Helm charts are generated unless you provide your own
Default Pipeline Structure
When you create a new environment, Qovery automatically creates four default deployment stages:
1
0.DEFAULT DATABASE
All database services are deployed in this stage
2
1.DEFAULT JOB
All job services (lifecycle jobs and cron jobs) are deployed in this stage
3
2.DEFAULT CONTAINER
All container image deployments are deployed in this stage
4
3.DEFAULT APPLICATION
All Git repository-based applications are deployed in this stage
Performance Optimization
To optimize your deployment pipeline performance, consider the following strategies:Dockerfile Optimization
Review and optimize your Dockerfile structure following Docker best practices:- Use specific base image tags instead of
latest - Order Dockerfile commands from least to most frequently changed
- Leverage Docker layer caching
- Use multi-stage builds to reduce image size
- Copy dependency files separately to cache installations