1
votes

I'm a bit confused about whats the recomended way of configuring build and release in TFS2017 on prem. Currently (tfs2013) we have different publish profiles for TEST and PROD and using WebDeploy.

This is what I whant to achive:

  • Use the "environment variables and relase definition variables" in TFS instead of storing them in web.config.TEST-01 etc
  • Grab the latest build and modify web.config (connectionstrings, appsettings) and deploy this build to our TEST machines
  • Some time later, send the same build that was used above to PROD (modify web.config)

What is the recommended approach when we now should move to TFS2017? Is web transform still the best option? I found this article modify web.config describing a Set-AzureWebsite and a Tokenization approach. Will it work on-prem also?

And does it matter how we deploy to our local IIS? I found this taks IIS Webapp deploy using WinRM - but in case WebDeploy, we probably need the webdeploy prarameterfile? Or not? Are there better tasks for deploy?

Thanks for any help

Lars

1

1 Answers

1
votes

Assuming you are using XAML build to build and deploy your project in TFS 2013. The new build system in TFS 2015 and later is totally different from XAML build. The new task system is based on JSON descriptor files with activities written as PowerShell (for Windows) or Node JS (for cross-platform), which is more flexible.

From Team Foundation Server 2015 (update 2 and above), Web Access also integrate Release tab, you can add a series of tasks (like IIS Webapp deploy using WinRM) to deploy your project.

We suggest use new tasks based build/release system, and add tasks or scripts to build/release/deploy your project.

Useful links: