Msbuild 团队城市配置

Msbuild 团队城市配置,msbuild,teamcity,msdeploy,Msbuild,Teamcity,Msdeploy,我们对TeamCity的工作还很陌生。我们有一个构建和部署pckage安装程序,它使用MSBuild/MSDeploy将更改发送到我们的web服务器。然而,我们有一些问题(抱歉在同一篇文章中提出了一些问题)。为了澄清,我们的解决方案如下: 项目文件夹 WebApp(包括.csproj文件。包括一个名为“媒体”的文件夹-此文件夹不在SVN中) 库(包括引用的程序集) 我们的问题: 库文件夹中有一个特定文件夹,在生成后必须将其复制到bin目录中(因为程序集重定向)。我们一直使用后期构建事件

我们对TeamCity的工作还很陌生。我们有一个构建和部署pckage安装程序,它使用MSBuild/MSDeploy将更改发送到我们的web服务器。然而,我们有一些问题(抱歉在同一篇文章中提出了一些问题)。为了澄清,我们的解决方案如下:

  • 项目文件夹
    • WebApp(包括.csproj文件。包括一个名为“媒体”的文件夹-此文件夹不在SVN中)
    • 库(包括引用的程序集)
我们的问题:

  • 库文件夹中有一个特定文件夹,在生成后必须将其复制到bin目录中(因为程序集重定向)。我们一直使用后期构建事件,但是这在TeamCity中不起作用
  • SVN中不包括WebApp文件夹中的文件夹“media”。执行TeamCity包时,会删除此文件夹。我想阻止TeamCity仅删除此文件夹
  • 当我们运行TeamCity任务时,对于TeamCity在同步任务期间试图删除的其中一个文件,我们会收到一个错误\u FILE\u IN\u USE ERROR。我读过关于使用app_offline.htm文件来解决这个问题的文章,但我不确定它到底有多大
我想这些设置中的一些可能是msbuild作业中的命令行参数——如果可能的话,我认为最好将它们存储在csproj文件中,而不是仅存储在teamcity中

提前谢谢
Al

关于所提供信息的几个问题

  • 你能澄清一下你所说的后期构建命令不起作用是什么意思吗?它是失败了还是没有达到你的预期

  • 如何设置生成后命令?它是否引用特定的文件路径?TeamCity以与从命令行或visual studio相同的方式执行MSBuild

  • 关于MSDeploy文件夹问题,您可以使用跳过操作配置MSDeploy,下面是另一篇文章的链接,介绍了如何执行此操作

    因为MSDeploy正试图部署到IIS使用的文件夹中,所以您也看到了文件锁定问题。有两种解决方案 1.添加teamcity步骤以在部署前停止IIS(使用PowerShell)。这将导致停机。 2.部署到其他文件夹,然后切换IIS以指向新文件夹。这是一个更好的解决方案,因为您还可以回滚

    解决所有这些问题的一个更简单的解决方案是使用诸如Octopus Deploy之类的部署工具来部署应用程序。有关八达通部署的更多信息,请访问