【发布时间】:2020-05-27 12:41:09
【问题描述】:
我的解决方案中有 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 方工具来传输Replace Token
我尝试了以下步骤:
- 文件转换
- 替换令牌
- Azure 应用服务部署
但它没有替换 web.config 中的端点变量地址,尽管它的 xml 转换成功并且在日志中替换令牌已替换该变量的令牌。
在阅读了answer之后,我修改了我的发布任务,如下图所示。
有什么方法可以替换端点地址中的变量值还是我遗漏了什么?
【问题讨论】:
标签: azure azure-devops azure-pipelines azure-pipelines-release-task