Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 配置TeamCity MSBuild和MSDeploy_.net_Msbuild_Teamcity_Msdeploy - Fatal编程技术网

.net 配置TeamCity MSBuild和MSDeploy

.net 配置TeamCity MSBuild和MSDeploy,.net,msbuild,teamcity,msdeploy,.net,Msbuild,Teamcity,Msdeploy,我在使用MSBuild和MSDeploy设置不同的环境时遇到问题 我在TeamCity上设置了2种配置 TestConfiguration(在测试配置中构建应用程序并运行单元测试) StagingConfiguration(用于打包并部署到我们的暂存箱中,以进行UA测试) 我的TestConfiguration工作正常,但StagingConfiguration没有部署包 <MSBuild Projects="MyProject\MyProject.csproj" Pro

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

我在TeamCity上设置了2种配置

  • TestConfiguration(在测试配置中构建应用程序并运行单元测试)
  • StagingConfiguration(用于打包并部署到我们的暂存箱中,以进行UA测试)
  • 我的TestConfiguration工作正常,但StagingConfiguration没有部署包

    <MSBuild Projects="MyProject\MyProject.csproj"
             Properties="Configuration=Staging;
             DeployOnBuild=true;
             DeployTarget=Package;"/>
    
    但两人似乎都没做什么,我是不是错过了重点?我还没有找到任何文档,只是到处都有一些奇怪的博客文章。我是否需要在TeamCity服务器上安装一些东西才能让MSDeploy正常工作

    我的理想情景是:

  • 签入tfs
  • 在TeamCity中手动运行StagingConfiguration
  • 代码已生成并部署到\server\c$\WebDirectory

  • 您需要配置TeamCity“系统属性”,该属性将传递给MsBuild并控制MsDeploy管道

    正确设置有点困难,但需要设置的有:

    • system.CreatePackageOnPublish=true
    • system.DeployOnBuild=true
    • system.DeployTarget=MSDeployPublish
    • system.MSDeployPublishMethod=WMSvc
    • system.deployiisappath=[默认网站]
    • system.MSDeployServiceUrl=[yourServerDomainName]
    • system.Username=[用户名]
    • system.Password=[密码]
    我在这里写了一篇更详细的博客文章:TeamCity的Web部署(MS部署)-

    我的配置如下所示:

    当Visual Studio未安装在生成服务器上时(它绝对不应该安装),您需要从您的开发人员计算机中获取一些文件以使其运行:

    从dev计算机上的
    C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0
    文件夹中,将
    Web
    Web应用程序
    文件夹复制到生成服务器上的等效目录


    (from)

    您得到了什么错误消息?您检查过运行生成代理的用户帐户是否有对所提到的UNC路径的写访问权限?您应该考虑在CI构建过程中构建MSDebug包,并使用“部署构建”使用MSDebug来删除现有的(构建工件)构建包。在您的方法中,您是从每个部署的源代码重建的。请注意,这是一个非常好的方法,它可以引导您使用TeamCity从一个构建到另一个部署,并创建工件(构建的代码)。虽然他的帖子使用了Subversion,但是你可以很容易地用TFS替换它。它采用的方法是构建msdeploy website.zip,然后部署它。同样,如果您可以扩展您的答案并提供链接供参考,那将是一件好事。非常感谢。@Kev我补充了更多细节。
    _PackageTempDir=\\server\c$\WebDirectory;
    PackageLocation=\\server\c$\WebDirectory;