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 并将其引入构建或发布管道。
管道非常强大,您可以通过解决方案发挥创意。
我在一个有这两个文件的项目中工作
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 并将其引入构建或发布管道。
管道非常强大,您可以通过解决方案发挥创意。