- English
- français
- Deutsche
- Contact us
- Docs
- Login
Preview environments should feel automatic. If you open a branch, you should get a live URL with your app, services, and realistic data. No tickets. No YAML spelunking. No “who owns staging” pings.
Developers already spend too much time fighting fires and hunting answers. A 2024 Cisco survey reported that developers spend more than 57 percent of their time in war rooms solving performance issues instead of building features.¹ Independent summaries echoed the same finding.² These delays compound when your team waits for shared staging.
Upsun removes that friction with zero-config branch previews that mirror production and spin up in seconds, so you can ship with confidence. Today, we will discover how it works and learn how to put it into use.
On Upsun, every branch can become a fully independent environment with your code, a copy of your database, search index, and files, plus an auto-generated URL you can share with reviewers. Read the overview: Upsun integrates with GitHub to automatically create an environment when a branch or pull request is opened, rebuild it on push, and remove it on merge. For developers, this means absolute feature isolation without requiring abysitting of infrastructure.
Behind the scenes, Upsun uses a single YAML configuration file in your Git repository that our AI onboarding can pre-generate based on your repository, allowing you to be even more productive.
Real data makes previews useful, but it must be protected. Upsun previews inherit data from the parent environment, so you get realistic behavior. Use built-in sanitization patterns and hooks to remove personal data when cloning or syncing environments automatically. External regulators and standards bodies recommend anonymisation and data minimization for non-production use, so sanitizing test data is not just a preference, it is good governance.⁶ ⁷
.upsun/config.yaml. Upsun can generate a starting config for you, and you commit changes as code.Upsun can generate this automatically, but here is the gist so you see how little you need to manage:
.upsun/config.yaml
applications:
app:
type: "nodejs:20"
build:
commands:
- npm ci
- npm run build
web:
commands:
start: "npm run start"
relationships:
- "db:postgresql"
services:
db:
type: "postgresql:15"
routes:
"https://{default}/":
type: upstream
upstream: "web:http"Commit this, open a branch, and Upsun will create a full-stack preview with the app and a Postgres clone. Configure details as code over time; you do not need to wire environments manually.
Upsun’s product pillars emphasize speed, simplicity, scalability, standardization, security, and sustainability. Keep the grind out of shipping and let developers focus on building.
How is this different from a shared staging server?
Shared staging often diverges from production and becomes a bottleneck in resource allocation. Per-branch previews are isolated, short-lived, and mirror the production configuration, which accelerates reviews and reduces the risk of errors.³ ⁴
Do previews work for complex stacks?
Yes. Upsun orchestrates multiple apps and backing services from a single config, so your front end, API, workers, and databases deploy together.
What about data privacy?
Use automatic sanitization when cloning data into previews. Regulators provide guidance on effective anonymisation for non-production use.⁶ ⁷
Sources

