【问题标题】:MSBuild: Web application, build once package and deploy manyMSBuild:Web 应用程序,一次构建,打包部署多次
【发布时间】:2012-10-15 19:27:42
【问题描述】:

我确信这个问题之前已经提出过,但我似乎无法找到一个优雅的解决方案。

我有一个基于部署环境(测试、QA、生产)的具有多种配置的 Web 应用程序项目,以及每个环境的 web.config 转换。我们正在使用 Web 部署包来自动创建可以通过 MSDeploy 部署的应用程序的 .zip。多次调用包目标很容易,每次都有不同的配置:

msbuild MyProject.csproj /t:Package /p:Configuration=QA

msbuild MyProject.csproj /t:Package /p:Configuration=Test

但这会在每次打包之前触发 Web 项目的完整重建。我想构建一次,然后应用 web.config 转换,并为每个环境创建单独的包。有没有一种简单的方法可以在不强制对每个环境进行完全重建的情况下完成此操作?

【问题讨论】:

    标签: asp.net deployment msbuild packaging


    【解决方案1】:

    Build once and deploy to multiple environments with msdeploy & Visual Studio 2012的骗子

    我也一直想要一个解决方案,但显然我所知道的没有任何真正的 COMPLETE MS 解决方案。 Visual Studio 提供以下功能(如 here 所述):

    1. Web.Config 转换
    2. 参数化

    Vishal Joshi 总结如下:

    如果您可以在构建时了解您的环境设置,请使用 Web.Config 转换。

    如果您只想创建一次部署包,然后 在安装时输入设置,然后使用 Parameters.xml

    不过,我希望看到的是两全其美。我想“打包”一个嵌入了 ALL 配置转换的目标。因此,当 IT 人员运行 WebDeploy cmd 文件(在您“打包”时生成)时,他们可以提供他们想要的环境配置的切换(即 Dev、Test、Stage、Prod、Release 等)。我不相信 MS 有解决方案可以做到这一点。 :(

    【讨论】:

      猜你喜欢
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多