Skip to main content

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
  • Automatic daily backups: Production deployments are backed up automatically on a rolling 24-hour schedule (see Backups)
  • Always active: Production deployments remain running continuously and are never garbage-collected
  • One per project: Each project can have a single production branch
  • 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: Built from a snapshot of your production database for realistic testing
  • Always active: Staging deployments remain running continuously and are never garbage-collected
  • Requires production: A staging branch can only exist alongside a production branch
  • Pre-production testing: Test changes before deploying to production
  • Production parity: Similar configuration to your production environment

Default Domain

Staging branches use the following domain pattern:

build_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: Created with Odoo demo data rather than production data, so you can experiment freely
  • Automatic garbage collection: The deployment's database is dropped about 24 hours after the build, freeing resources automatically
  • 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
caution

Development deployments are disposable. About 24 hours after a build, the database is dropped. If you push again to the same branch later, Skysize builds a fresh deployment with a new database, it does not restore the old data. Never keep anything you need to keep on a development deployment; use staging or production for persistent data.

Choosing the Right Branch Type

RequirementProductionStagingDevelopment
Live user data
Production data snapshots
Persistent environment❌ (24 hours)
Daily backups
Cost optimizationMedium

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