I'm having issues setting up different envirnoments with MSBuild and MSDeploy.
I've setup 2 configurations on TeamCity
- TestConfiguration (This builds the app in Test Config and runs unit tests)
- StagingConfiguration (Is meant to package and deploy to our staging box for UA testing)
My TestConfiguration works fine but the StagingConfiguration doesn't deploy the package.
<MSBuild Projects="MyProject\MyProject.csproj"
Properties="Configuration=Staging;
DeployOnBuild=true;
DeployTarget=Package;"/>
I've tried adding both
_PackageTempDir=\\server\c$\WebDirectory;
PackageLocation=\\server\c$\WebDirectory;
But neither seem to do anything, am i missing the point? I've not really been able to find any documentation, just the odd blog post here and there. Do I need to install something on my TeamCity server for MSDeploy to work?
My ideal scenario is:
- Check in to tfs
- Run StagingConfiguartion in TeamCity manually
- Code is built and deployed to \server\c$\WebDirectory
Best Answer
You need to configure TeamCity "System Properties" that will be passed to MsBuild and control the MsDeploy pipeline.
It's a little tricky to get setup correctly but the ones you need to set are:
I wrote a blog article with more detail here: Web Deploy (MS Deploy) from TeamCity - http://www.geekytidbits.com/web-deploy-ms-deploy-from-teamcity/
Here's what my config looks like: