You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure Web App配置的环境变量传递至Azure Pipeline并构建镜像?

解决Azure Web App应用设置传递到Azure Pipeline的方法

Azure Web App的应用设置不会自动同步到Azure Pipeline中,你需要通过主动读取的方式将变量值获取到Pipeline里,具体步骤如下:

步骤1:添加Azure CLI任务读取Web App的应用设置

在Pipeline中加入以下Azure CLI任务,用于读取目标Web App的AAA_TEST变量值,并将其设置为Pipeline的环境变量:

- task: AzureCLI@2
  displayName: '读取Web App应用设置'
  inputs:
    azureSubscription: '你的Azure服务连接名称'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: |
      # 获取Web App的所有应用设置
      $appSettings = az webapp config appsettings list --name "你的Web App名称" --resource-group "你的资源组名称" | ConvertFrom-Json
      # 提取AAA_TEST的值
      $aaaTestValue = ($appSettings | Where-Object { $_.name -eq "AAA_TEST" }).value
      # 将值设置为Pipeline变量,后续任务可直接引用
      Write-Host "##vso[task.setvariable variable=AAA_TEST;]$aaaTestValue"

步骤2:在后续任务中使用该变量

设置完成后,你就可以在Pipeline的其他任务中直接引用$(AAA_TEST)变量了,比如在PowerShell任务中验证:

- task: PowerShell@2
  displayName: '验证变量是否获取成功'
  inputs:
    targetType: 'inline'
    script: |
      Write-Host "AAA_TEST的值是: $(AAA_TEST)"

为什么你之前的方法无效?

你之前直接使用env: TEST: $(AAA_TEST)的方式无效,是因为$(AAA_TEST)在Pipeline中默认是引用Pipeline的预定义变量或手动设置的变量,而Web App的应用设置并不在这个范围内,必须通过Azure CLI/PowerShell主动读取并注入到Pipeline上下文里。

内容的提问来源于stack exchange,提问作者Márton Stark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:07:15