首页 > 解决方案 > 关于正确使用 TFS 发布 Web 应用程序的说明

问题描述

我正在尝试通过 TFS 2015 设置 CI,我有一个解决方案,它有 2 个主要的 Web 应用程序,目前我们部署手动编辑配置文件等等(有时会导致错误)

我已经阅读了构建/发布过程,过去我使用 Jenkins 作为构建服务器。但是直到今天我还有一个问题,这与何时应用 XML 配置文件的转换有关。

在我当前的 VTFS2015 设置中,我创建了一个构建过程,并使用以下行构建项目

msbuild /p:Configuration=Test /p:PublishProfile=Test /p:DeployOnBuild=true xxx\xxx.csproj

这会在obj\Test\Package\PackageTmp包的文件夹中创建我

这个可以吗?还是应该在发布管理选项卡中完成?考虑在我的农场,我已经

我的目标是让它们在机器上自动交付,但我不知道应用转换的正确时机(在构建期间我可以使用发布功能,在 RM 期间我可以使用 ps1 脚本)

提前致谢

标签: visual-studiotfs

解决方案


好吧,我认为这个线程会有所帮助:TFS 2017 构建任务在 TFS 构建期间应用 web.config 转换?

要应用转换,您可以使用扩展:在 vNext 构建过程中应用转换。

通常它应该是一个包,用于部署任务,例如 Deploy: WinRM - IIS Web App DeploymentAzure App Service Deployment来实现部署。

1) 转换可以同时参与构建和发布吗?

是的,您也可以使用构建部署任务在构建管道中执行此操作。您需要在发布构建工件任务之后添加该任务。

2) TFS 2017 是否需要大量特殊处理才能使用转换文件?

更新

BuildConfiguration 变量在 TFS 2017 中有所不同,它位于MSBuild 任务中!现在根据 MSBuild 任务配置设置应用转换。

编辑 .proj文件是一种进行转换的方法。如果您不需要更改转换,它将在构建期间自动执行。您还可以使用一些 3-rd 方任务/扩展来进行额外的转换,例如:XDT 转换

通常我们将构建和发布分开进行部署,因为它易于配置多个环境并且易于调试问题。您绝对可以仅在构建中执行此操作,但过程臃肿。您可以参考本教程:使用 Team Foundation Server/Services vNext Builds 构建和部署 Azure Web 应用程序。

对于单独的构建和发布解决方案,您可以查看此博客:Using web.config transforms and Release Manager – TFS 2017/Team Services edition


推荐阅读