Environments
Organize a project into isolated environments such as production, staging, and development.
A project in Skitflow is a container for one or more environments. Each environment holds its own set of services — applications, databases, and Docker Compose stacks — letting you run separate production, staging, and development copies of the same project side by side.
Why environments
- Keep production isolated from work-in-progress.
- Promote changes by duplicating a known-good environment.
- Share variables across all services in an environment via a shared environment file (see Environment Variables).
Creating an environment
When you create an environment you provide:
- Name — for example
production,staging, orpreview. - Description — optional notes about the environment's purpose.
- Create env file — optionally start the environment with a shared environment file already attached.
- Default — mark one environment as the project default.
Every project starts with a default environment; add more as your workflow needs them.
Duplicating an environment
You can duplicate an existing environment into a new one — copying its services and configuration — which is the fastest way to spin up a staging or preview copy from production. Provide a new Name (and optional Description) for the copy.
Duplicating copies the environment's service definitions and settings. Review domains, secrets, and external ports in the new environment before deploying so they don't collide with the source.
Related
- Multi-Tenancy — organizations, teams, and access control
- Preview Deployments — automatic per-pull-request environments