Deployment
Deploying your app makes it live and accessible to users. Usually, you will deploy an app to at least two environments: a production environment for users and (one or multiple) staging or preview environments for developers.
Supabase provides several options for environment management and deployment.
Environment management
You can maintain separate development, staging, and production environments for Supabase:
- Development: Develop with a local Supabase stack using the Supabase CLI.
- Staging: Use branching to create staging or preview environments. You can use persistent branches for a long-lived staging setup, or ephemeral branches for short-lived previews (which are often tied to a pull request).
- Production: If you have branching enabled, you can use the Supabase GitHub integration to automatically push your migration files when you merge a pull request. Alternatively, you can set up your own continuous deployment pipeline using the Supabase CLI.
Self-hosting
See the self-hosting guides for instructions on hosting your own Supabase stack.
Deployment
You can automate deployments using:
- The Supabase GitHub integration (with branching enabled)
- The Supabase CLI in your own continuous deployment pipeline
- The Supabase Terraform provider