There is a tool called Release Management in Team Foundation Server.
Each deployment to each environment may has different variables. This can be updated in a single place. In the release definition you can set up environment variables and set them per each environment. You could also have central replacements used in many applications.
- Define a more generic deployment process once, and then customize it easily for each environment. For example, a variable can be used
to represent the connection string for web deployment, and the
value of this variable can be changed from one environment to
another. These are custom variables.
- Use information about the context of the particular release, environment, artifacts, or agent in which the deployment process is being run. For example, your script may need access to the
location of the build to download it, or to the working directory on
the agent to create temporary files. These are default variables.
Source Link: Variables in Release Management
For build you replace your dev condign data with tokens that RM then replaces per environment as part of the deployment. You could do this with a replace token task, it will replace any environment variables defined with the values set in the release variables, which you can edit via Configure variables:

For more details about how to use the variable, you could refer this blog: Using environment variables for configuration with VSTS build and release
Besides, Variable groups have been introduced in TFS/VSTS to address this need.
These are shared variables at the team project level, and can be used in build or release definitions. The ability to refer to variable groups from release definitions is complete and is now available in TFS 2017 and VSTS. The ability to refer to variables groups from build definitions is planned in the near feature.