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

Azure DevOps多环境变量组中同名变量在模板任务中无法正确解析的问题求助

Azure DevOps多环境变量组中同名变量在模板任务中无法正确解析的问题求助

我遇到了一个难题,怎么都找不到解决办法。我给每个环境都建了对应的变量组:

  • My_Var_Group_Prod
  • My_Var_Group_Dev

每个变量组里都有一个名为**"Service_Connection"**的变量,它对应Azure账号的服务连接。因为每个环境可能在不同的订阅里,所以这个变量的值每个环境都不一样。

我的YAML流水线用模板来部署应用到Azure,主流水线里是这么引用模板的:

- stage: Dev
    variables:
      - group: My_Var_Group_Dev
    jobs:
    - template: templates/deploy_API.yml

在deploy_API.yml模板里,有这么一个任务:

- task: AzureWebApp@1
      displayName: 'Deploy API'
      inputs:
        azureSubscription:'$(Service_Connection)'
        appType: 'webAppLinux'
        appName: 'my-api-web-app'
        package: '$(API_DIRECTORY)/API.zip'

问题在于,AzureWebApp任务里的azureSubscription参数好像是在"构建"阶段就确定的,我连流水线都跑不起来,它直接报错说需要这个值。

我试过这么修复:建了一个全局变量组,里面定义了SERVICE_CONNECTION的默认值,然后在主YAML里引用这个全局组。但这样的话,流水线会用全局组里的值,而不是My_Var_Group_Dev里的对应值——哪怕我在任务前加echo能打印出正确的环境变量值也没用。

我还试过把SERVICE_CONNECTION作为流水线参数传进去,这方法是能用,但我希望这个值存在变量组里,所以这个方案也不行。

目前唯一能跑通的办法是用Bash任务手动做部署,通过应用注册的信息来认证。但这完全不DevOps,而且我其他地方也需要用这个模式,所以必须找个合适的解决办法。

有没有人遇到过同样的问题?求支招!谢谢大家!

备注:内容来源于stack exchange,提问作者user9217079

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 18:38:17