我的解决方案中有 10 多个项目。一个项目有配置,名称为 Variable.release.config 文件,其中包含所有应用程序变量、连接字符串和其他 web.config 的模块,需要用库中的 Azure 变量替换。这个配置文件被所有项目使用。该解决方案有 Asp.net MVC 网站,它有自己的 web.config、web.release.config。我正在尝试从 Variable.release.config 转换变量,它正在转换 web.config 中的所有内容,但端点地址的客户端部分中的端点变量的值没有被替换。
以前我使用的是 Azure App Service Deploy,下面是它的 YAML:
steps:
- task: AzureRmWebAppDeployment@4
displayName: 'Azure App Service Deploy: abc-tst'
inputs:
azureSubscription: 'ABC Technologies(XXXX-XXX-XXX-XXX-XXXXXX)'
WebAppName: 'ABC-tst'
deployToSlotOrASE: true
ResourceGroupName: 'abc-tst'
SlotName: T2
packageForLinux: '$(System.DefaultWorkingDirectory)/$(Release.DefinitionName)/drop/ABC.Frontend.zip'
enableXmlTransform: true
enableXmlVariableSubstitution: true
它没有替换端点中的变量。我遇到了几篇文章说只有端点不能用 xml 转换替换我需要使用 3rd 方工具来传输替换令牌
我尝试了以下步骤:
- 文件转换
- 替换令牌
- Azure 应用服务部署
但是它没有替换 web.config 中的端点变量地址,尽管它的 xml 转换成功并且在日志中替换令牌已经替换了该变量的令牌。
之后,我在阅读此答案后修改了我的发布任务,如下图所示。
有什么方法可以替换端点地址中的变量值还是我遗漏了什么?