msbuild 只部署而不构建
Posted
技术标签:
【中文标题】msbuild 只部署而不构建【英文标题】:msbuild just deploy without build 【发布时间】:2018-01-19 03:07:58 【问题描述】:我知道我可以这样做来构建和部署:
msbuild mysln.sln /p:DeployOnBuild=true /p:PublishProfile=<profile-name>
但我想一步构建,将这些工件移动到另一个位置,然后部署。
我可以使用 msdeploy.exe 进行部署,但我更愿意使用 msbuild 命令(它将为我定位并使用正确的 args 调用 msdepoy)执行此操作,就像我现在做的那样,但不是DeployOnBuild 我只想部署。
编辑:再补充一点,创建一个 msdeploy 包很痛苦,而 msbuild 已经为我完成了这一切,这就是为什么我想让它为我编排这个。
编辑:有没有一种方法可以让我准确地看到 msbuild 正在运行哪些 msbuild/msdeploy 命令来创建和部署包?我想如果我可以记录这些确切的命令,我可以手动完成并让 msbuild 创建包并运行 msdeploy 命令来部署它。但我看不到 msbuild 实际上在做什么。
【问题讨论】:
【参考方案1】:您可以在解决方案级别定义配置,告诉 msbuild 必须构建/发布/同时构建/发布哪个项目。显然,要启用“发布”选项,您还必须为要部署的项目设置发布配置文件。但是您应该可以简单地取消选中“构建”。
以下是有关解决方案配置以及如何从 msbuild 命令中引用这些配置的一些信息:
MSDN Solution Configuration
所以,在你的情况下,我会做一个配置来构建和一个部署。
【讨论】:
以上是关于msbuild 只部署而不构建的主要内容,如果未能解决你的问题,请参考以下文章
MSBuild + Bamboo 部署:构建一次并进行多次部署?
让 MSBuild 和 CruiseControl .NET 构建和部署 VS2010 数据库项目