Before you upgrade
Review release notes
Check the release notes for:- Breaking changes
- Database migrations
- Configuration changes
- Deprecated features
- Known issues
Backup your deployment
Create a complete backup before upgrading:Check version compatibility
Supported upgrade paths:- Patch versions (1.7.5 → 1.7.6): Direct upgrade
- Minor versions (1.6.x → 1.7.x): Direct upgrade
- Major versions (1.x → 2.x): May require migration steps
- Skipping minor versions (1.5.x → 1.7.x): Upgrade sequentially
- Downgrading: Not supported, use backup restoration
Plan maintenance window
Typical upgrade times:- Patch version: 5-10 minutes
- Minor version: 10-30 minutes
- Major version: 30-60 minutes (varies by deployment size)
- API will be unavailable
- Background tasks will be paused
- Active connections will be terminated
Docker Compose upgrade
Standard upgrade procedure
Step 1: Backup current deploymentdocker-compose.yml and update your .env file if needed:
Rolling upgrade (minimal downtime)
For deployments with multiple API servers: Step 1: Update one API serverKubernetes upgrade
Helm chart upgrade
Step 1: Backup deployment Follow Kubernetes backup procedures from the backup guide. Step 2: Update Helm repositoryVersion-specific migrations
Database schema migrations
Most releases include automatic database migrations. Monitor migration logs:Configuration migrations
Some versions require configuration changes: Example: Redis host configuration (chart 4.0.0+) When upgrading to chart version 4.0.0 or later, add:values.yml
Data migrations
Occasionally, data format changes require migrations. These run automatically but may take time:Troubleshooting upgrades
Migration failures
If migrations fail:Service startup failures
If services fail to start:Incompatible configuration
If configuration is incompatible:Rollback procedures
Docker Compose rollback
Step 1: Stop servicesKubernetes rollback
Helm rollback:Best practices
Pre-upgrade checklist
- Review release notes and breaking changes
- Create complete backup
- Test upgrade in non-production environment
- Schedule maintenance window
- Notify users of upcoming downtime
- Verify backup integrity
- Document current configuration
Post-upgrade validation
- Verify API version
- Check service health
- Test GraphQL queries
- Verify artifact generation
- Test Git repository sync
- Review logs for errors
- Monitor performance metrics
Upgrade testing
Always test upgrades in a non-production environment:- Deploy matching production version
- Restore production backup
- Perform upgrade procedure
- Run integration tests
- Document issues and workarounds
- Update upgrade procedures
Related resources
- Backup and restore - Protect your data before upgrading
- Docker Compose deployment - Docker Compose configuration
- Kubernetes deployment - Kubernetes deployment
- Monitoring - Monitor upgrade health
- Release notes - Version-specific changes