Managing environments

Development, staging, and production — separate deploys, separate variables, one project.

Updated Aug 4, 2026Deployments & CI/CD

Environments let you run separate copies of your app — typically development, staging, and production — each with its own configuration.

Default setup

Every project gets a default environment. You can add staging and production environments from the project page.

Auto-deploy per branch

Tie each environment to a branch so pushes flow automatically:

deploy:
  environments:
    staging:
      branch: develop
    production:
      branch: main
      require_approval: true

Now pushing to develop deploys staging, and pushing to main proposes a production deploy that needs manual approval.

Environment variables

Each environment has its own variables, so you can use different API keys, database names, or feature flags per environment. Secrets are stored encrypted.

Why separate environments matter

You catch problems in staging before they reach real users, and production stays stable because it only changes through a controlled, reviewed process.

Managing environments