【发布时间】: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