TFS Build 2015 - 如何在构建过程中将文件内容复制到另一个文件?

TFS Build 2015 - How to copy a file's content to another one during the build?

我在一个有这两个文件的项目中工作

Web.env1.config
Web.env2.config

这些文件代表我的应用程序发布的两个不同环境。

我们使用 TFS Build 2015 发布我们的应用程序,每当我必须发布应用程序时,我必须手动复制其中一个文件的内容并将其粘贴到 Web.config 文件中。

所以,我想知道是否可以自动执行此过程而无需手动执行。

我就是这样做的。

如果您的所有设置都位于它支持的配置部分,您可以 create transforms 并在使用此设置的发布管道中的 Web 部署任务期间应用它们:

如果我在转换不支持的部分中有特定于环境的设置,我会同时维护一个 Web.config.template 文件和 web.config。特定于环境的值是将在发布管道中替换的标记。例如,它可能不是连接字符串值,而是“~connstr~”。 Web.config 仅在调试时使用。

在发布管道中,我有一个 replace tokens task 可以提取管道变量并将 ~tokens~ 替换为值。特定于环境的值是作用域管道变量:

web.config.template 文件的标记被环境特定的值替换后,我有一个命令行任务将其重命名为 web.config。管道从那里部署文件。

另一种选择是为每个环境创建一个 Secure File 并将其引入构建或发布管道。

管道非常强大,您可以通过解决方案发挥创意。