配置TeamCity MSBuild和MSDeploy

时间:2011-04-13 09:07:52

标签: .net msbuild teamcity msdeploy

我在使用MSBuild和MSDeploy设置不同的环境时遇到问题。

我在TeamCity上设置了2个配置

  1. TestConfiguration(这在Test Config中构建应用程序并运行单元测试)
  2. StagingConfiguration(用于打包并部署到我们的UA测试的分段框)
  3. 我的TestConfiguration工作正常,但StagingConfiguration不会部署包。

    <MSBuild Projects="MyProject\MyProject.csproj"
             Properties="Configuration=Staging;
             DeployOnBuild=true;
             DeployTarget=Package;"/>
    

    我试过添加两个

    _PackageTempDir=\\server\c$\WebDirectory;
    PackageLocation=\\server\c$\WebDirectory;
    

    但似乎都没有做任何事情,我错过了这一点吗?我真的没能找到任何文档,只是在这里和那里奇怪的博客文章。我是否需要在我的TeamCity服务器上安装某些东西才能使MSDeploy正常工作?

    我理想的情况是:

    1. 签到tfs
    2. 手动在TeamCity中运行StagingConfiguartion
    3. 代码构建并部署到\ server \ c $ \ WebDirectory

2 个答案:

答案 0 :(得分:4)

您需要配置TeamCity“系统属性”,它将传递给MsBuild并控制MsDeploy管道。正确设置有点棘手,但您需要设置的是:

  • system.CreatePackageOnPublish =真
  • system.DeployOnBuild =真
  • SYSTEN,DeployTarget = MSDeployPublish
  • system.MSDeployPublishMethod = WMSVC
  • system.DeployIISAppPath = [默认网站]
  • system.MSDeployServiceUrl = [yourServerDomainName]
  • system.Username = [用户名]
  • system.Password = [口令]

我在这里写了一篇博客文章更详细: TeamCity的Web部署(MS部署) - http://www.geekytidbits.com/web-deploy-ms-deploy-from-teamcity/

这是我的配置的样子: enter image description here

答案 1 :(得分:3)

如果构建服务器上没有安装Visual Studio(它肯定),您需要使用dev机器中的一些文件来运行:

从开发计算机上的C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0文件夹中,将WebWeb Applications文件夹复制到构建服务器上的等效目录。

(来自MSBuild target package not found