【问题标题】:Create a web deploy package outside visual studio source code在 Visual Studio 源代码之外创建 Web 部署包
【发布时间】:2016-09-17 06:13:08
【问题描述】:

我正在尝试通过 Visual Studio 团队服务创建 Web 部署包。

目前,我在 Visual Studio 中创建了一个 Web 部署发布配置文件。我使用 Visual Studio Team Services 中的 MSBuild 来构建解决方案并创建 Web 部署包。然后我压缩包并将其保存到共享位置。但是,这种方法的问题在于它没有为我提供一种针对不同环境进行相同构建的方法。比方说,我为 DEV 环境创建了一个 Web 部署包。然后,当我必须将构建部署到 SIT 环境时,我需要再次构建解决方案并创建一个包。这样我就可以针对不同的环境进行不同的构建。我希望将相同的构建提升到不同的环境中,以实现更好的可追溯性和维护。

我觉得我可以实现此目的的一种方法是使用单独的构建定义来构建应用程序并将 DLL 保存到共享位置。然后我可以有一个单独的构建定义,它从共享位置获取构建并从构建中创建一个 Web 部署包。如何在 VSTS 上实现这一点?

其他可能的方法是在任何部署发生在一个环境(例如开发环境)时创建标签。要在 SIT 中进行部署,我可以使用具有相同标签的源代码,然后使用 MSBuild 创建 Web 部署包。有没有什么方法可以通过 VSTS 实现这一点,而无需为每个环境创建单独的构建定义?

除上述之外还有什么建议吗?

【问题讨论】:

  • 不同环境的部署包有什么区别?不同的配置文件和不同的网络配置?
  • 每个环境的配置都不一样。开发人员可能无法访问环境。创建部署包后,包中的 SetParameters.xml 文件将根据环境进行更改。

标签: visual-studio deployment msbuild azure-devops webdeploy


【解决方案1】:

您可以使用VSTS Release Management 将您的部署包部署到不同的环境,并使用Release Management Utility tasks 中的“Tokenizer”任务根据不同环境配置的变量更新包中的配置文件。

你也可以试试Web Deploy Parameterization

【讨论】:

  • 在创建我的包后,我已经在进行 Web 部署参数化。我之前确实查看了 VSTS RM 选项,但我只看到了云服务和 Azure 网站模板。现在,我注意到“空模板”选项,将看看。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
相关资源
最近更新 更多