在Visual Studio Team Services(Visual Studio Online)中,我有三个发布环境,每个环境都有一个Azure Website Deploy步骤 .
我可以通过指定拾取Web.Uat.config的“BuildConfiguration”变量(例如Uat)来转换构建步骤的web.config .
但是我有多个使用此构建配置的发布环境,它们都需要转换Web配置(例如Dev,Test,Uat,Live) .
是否可以在Azure网站部署步骤之前指定要用于每个发布环境的Web配置转换?
注意:我意识到可以在Azure门户网站的“所有设置”下为网站指定简单的应用程序和连接字符串,但我需要做的不仅仅是转换这些简单的设置,并且已经为我的解决方案中的每个环境配置了Web配置转换
2 回答
在构建过程中转换Web.config,如果从“Build”生成部署包,然后将其部署在“Release”中,则在部署之前无法对其进行转换 .
您可以在部署之前使用Web Deploy Parameterization更新web.config中的值 . 更多信息供您参考:Web Deploy Parameterization vs Web.config Transform .
您还可以在部署之前使用Replace Tokens task替换web.config文件中的值 .
作为Release Management Utility Tasks的一部分的tokenizer任务允许根据环境转换配置文件 .
可以使用包含所有环境的所有配置的单个JSON配置文件,并且任务将根据环境自动选择正确的配置 .
像这样,您可以在单个JSON文件中拥有许多环境及其配置,并且tokenizer任务将根据部署的环境修改您的配置 .
阅读以上链接的详细信息以了解更多信息 .