# Deployment Environments

A Deployment is an instance of a Module that exist on a target server in some [Environment](https://docs.devin.fm/features/deployments/default-environments). Devin currently supports `STAGING` and `PRODUCTION` environments, which is inherited from the `Server Type` defined for each server in Settings -> Servers. See [add-a-server](https://docs.devin.fm/guides/servers/add-a-server "mention").&#x20;

Environments let you link specific Deployments of a Module to a specific Branch that defines its release pipeline. This way, you can ensure the flow of custom deployment flows. For instance, you could setup an environment to be a link between a `UAT` instance of a `fmp12` file and a `test` branch. This ensures that only releases on test are allowed to be deployed to `UAT`.&#x20;

Learn more about Deployments and Environments [here](https://docs.devin.fm/features/deployments).
