Question

I am attempting to automate my process for deployments.

Currently, the following steps need run:

  • Run an external tool in Visual Studio to call Migrator.net (using MSBUILD) to update the database
  • Right-click the web project and publish locally
  • Copy the publish folder to all web servers for that specific website

I have now been looking at how to deploy directly from Visual Studio Team Services.

I have created a build definition that will compile my code, and using MSBuild arguments in the "Process" tab of the build definition, will use a publish profile to publish directly to IIS on a target machine. The arguments are something like this:

/p:DeployOnBuild=true;PublishProfile="test_publish.pubxml";UserName=xxx;Password=xxx

This works like a charm for the actual web content, but it does not deal with the database side of things.

The external tool to update the database, as I mentioned, calls MSBUILD with the following:

$(ProjectDir)\Migrations.proj /target:MigrateUAT /p:To=-1 /p:password=xxx

How would I change the build definition to also deal with this MSBuild call? I am at the limit of my MSBuild knowledge.

Thanks in advance.

Was it helpful?

Solution

I have not found out how to do this directly. So I am taking the approach to write a large MSBUILD script that will do everything I want, and only use Team Services to call this script. Rather than use the work flow stuff within the build definition.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top