我们对TeamCity的工作很陌生。我们有一个构建&部署pckage设置,它使用MSBuild / MSDeploy将更改发送到我们的Web服务器。但是,我们有一些问题(在同一篇文章中提出几个问题的道歉)。为了澄清,我们的解决方案如下:
我们的问题:
我猜这些设置中的一些可能是msbuild作业中的命令行参数 - 我认为最好将它们存储在csproj文件中而不是仅仅存在于teamcity中?如果可能的话?
提前谢谢 人答案 0 :(得分:0)
关于所提供信息的几个问题
你能说清楚构建后命令的意思吗?是失败还是不做你期望的事?
您是如何设置构建后命令的?它引用了特定的文件路径吗? TeamCity可以在命令行或visual studio中执行相同的MSBuild。
关于MSDeploy文件夹问题,您可以使用Skip Action配置MSDeploy,这是指向另一篇文章的链接,描述如何执行此操作 Prevent MSDeploy (selectively) from deleting folders on target IIS server
由于MSDeploy正在尝试部署到IIS使用的文件夹中,因此您也看到了文件锁定问题。有两种解决方案 1.在部署之前添加teamcity步骤以停止IIS(使用PowerShell)。这将导致停机。 2.部署到其他文件夹,然后将IIS切换为指向新文件夹。这是一个更好的解决方案,因为您还可以回滚。
所有这一切的更简单的解决方案是使用部署工具(如Octopus Deploy)来部署您的应用程序。您可以在http://octopusdeploy.com/
了解有关Octopus Deploy的更多信息