开发者_运维问答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
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:
- system.CreatePackageOnPublish=true
- system.DeployOnBuild=true
- system.DeployTarget=MSDeployPublish
- system.MSDeployPublishMethod=WMSvc
- system.DeployIISAppPath=[Default Web Site]
- system.MSDeployServiceUrl=[yourServerDomainName]
- system.Username=[username]
- system.Password=[password]
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:
When Visual Studio is not installed on the build server (which it should definitely not be) you need a few files from your dev machine to make things running:
From the C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0
folder on your dev machine copy the Web
and Web Applications
folders to the equivalent directory on your build server.
(from MSBuild target package not found)
精彩评论