1

We are trying to set up and configure a new build process. Continuous integration using TFS and msbuild to deploy to different environments (Dev, Qa, Prod, etc) works like a charm.

The problem is that, for example, our QA env. consists of multiple, load balanced, servers and I can't seem to figure out how to deploy to multiple servers at once.

I have a working Publish Profile:

<Project ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>QA</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <PublishUrl>*SERVER1*</PublishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

and this gets executed when doing a check-in on our QA branch, and after building, it publishes the results to SERVER1. It should also publish the files to SERVER2, SERVER3, and so on.

What is the best way to accomplish this? I also tried editing the workflow file, but found that rather unclear.

Kevin
  • 775
  • 2
  • 13
  • 32
  • You might want to take a look at this http://stackoverflow.com/questions/21984967/how-can-i-extend-my-publish-profile-to-deploy-to-multiple-locations – Hamid Shahid Mar 23 '15 at 13:05
  • 1
    Don't overextend your build process to also handle deployments. Use a release management tool that's designed to orchestrate and monitor software releases. – Daniel Mann Mar 23 '15 at 15:55
  • 1
    I had the same needs and I finally used a dedicated tool for deployment instead of *msbuild* have a look at [Octopus deploy](https://octopusdeploy.com) this is the tool I use – Cyril Durand Mar 24 '15 at 09:50
  • Yeah, it seems we are going for an extra tool as suggested. Thanks for the comments! – Kevin Mar 24 '15 at 10:19

2 Answers2

0

As suggested by Daniel and Cyril we are going to use an external tool like octopus.

Kevin
  • 775
  • 2
  • 13
  • 32
0

TFS 2013 includes a release management tool that is included with your MSDN subscription.

http://nakedalm.com/blog/create-release-management-pipeline-professional-developers/

It's fairly simple to get up and running and I would recommend using PowerShell to do the physical deployments. RM worked well s am orchestration tool if you need traceability and approvals...