Skip to main content

Branch Types

Skysize supports three types of branches to accommodate different stages of your development workflow: Production, Staging, and Development.

note

On a project without a repository, environments are not tied to Git branches: production is a single environment named main, staging environments are created from the Branches tab with New staging, and development environments are not available (they only exist to test code changes).

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
  • No repository needed: On projects without a repository, create one with New staging on the Branches tab
  • 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