Branch Types
Skysize supports three types of branches to accommodate different stages of your development workflow: Production, Staging, and Development.
Production Branches
Production branches host your live application with real user data.
Characteristics
- Main database: Contains your production data
- Daily backups: Automatic backups every day at 1 AM
- Always active: Production deployments remain running continuously
- Stable environment: Designed for reliability and uptime
Default Domain
Production branches use the following domain pattern:
project-name.skysize.io
Staging Branches
Staging branches provide a testing environment that mirrors production.
Characteristics
- Testing databases: Use snapshots from production for realistic testing
- Always active: Staging deployments remain running continuously
- Pre-production testing: Test changes before deploying to production
- Production parity: Similar configuration to production environment
Default Domain
Staging branches use the following domain pattern:
project_name-branch_name.staging.skysize.io
Use Cases
- Testing new features with production-like data
- QA and user acceptance testing
- Integration testing
- Pre-release validation
Development Branches
Development branches are designed for active development and experimentation.
Characteristics
- Demo data: Typically use sample/demo data instead of production data
- Automatic garbage collection: Automatically deleted after 24 hours of inactivity
- Ephemeral: Intended for short-term use
- Cost-effective: Saves resources by cleaning up unused environments
Default Domain
Development branches use the following domain pattern:
build_name.dev.skysize.io
Use Cases
- Feature development
- Bug fixes
- Experimental changes
- Developer testing
Choosing the Right Branch Type
| Requirement | Production | Staging | Development |
|---|---|---|---|
| Live user data | ✅ | ❌ | ❌ |
| Production data snapshots | ❌ | ✅ | ❌ |
| Persistent environment | ✅ | ✅ | ❌ (24 hours) |
| Daily backups | ✅ | ❌ | ❌ |
| Cost optimization | ❌ | Medium | ✅ |
Best Practices
- Use staging for pre-release testing: Always test changes on staging before deploying to production
- Keep development branches active: Development branches are auto-deleted after 24 hours, so redeploy if needed
- Separate concerns: Use production for live data, staging for testing, and development for building features