msbuildasp.net-coreasp.net-core-mvctfs-2015dnu

ASP.NET 5 (vNext) Deployment via TFS 2015


We're trying to work through the new tool chain for building and deploying an ASP.NET 5 (vNext) CoreCLR web site to a server cluster. Between the new compilation changes and the changes to TFS, I'm not sure how everything now gets built and deployed. The scenario is as follows:

  1. On-premise TFS for source control and build agent
  2. Targeting ASP.NET 5 under CoreCLR, hosted via IIS

Questions are:

Using TFS for continuous integration builds (and hopefully deployment to an on-premise IIS server), how does one build and deploy this new application type?

It seems like MSBuild might still be usable to point at a .sln file so as to indirectly invoke dnu.exe, is that correct? Is that the appropriate way to do that now?

Should we be running a scripted build task instead to run dnu.exe instead?

How are these new CoreCLR builds deployed? Just a straight copy to a directory on a remote machine?

This is a new application and we're using a multi-layered application architecture, where the DAL and Business logic are in their own CoreCLR projects, if that makes a difference.

Thanks in advance for shedding some light on the situation.


Solution

  • Here is what we ended up doing:

    1. Powershell script "prebuild.ps1" as per the previous answer and Microsoft deployment guidelines: https://msdn.microsoft.com/en-us/Library/vs/alm/Build/azure/deploy-aspnet5

    2. Vanilla MSBuild build. no switches or special settings.

    3. Powershell script to execute xUnit test runner. We used guidance from this post at http://fluentbytes.com/running-xunit-test-with-asp-net-dnx-and-tfs-2015-build/

    4. Powershell script to run "dnu publish". This creates a directory of the entire web application's structure.

    5. "Windows File Copy" task to deploy the directory structure created in #4 to all of the target machines in the test environment.