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

能否通过变量从CI变量组获取值并设置YAML流水线的CIDatabase变量?

问题解答

这段代码不能正确设置CIDatabase变量的值,原因有两点:

  • 变量名前缀不匹配:你的变量组里的变量是CI_Branch1、CI_Branch2,但代码里用了TR_CI_作为前缀,和变量组的命名规则不符,会导致找不到对应的目标变量。
  • 赋值语法错误:variables.$(TR_CI_${{variables['Build.SourceBranchName']}})这种写法不符合Azure DevOps的变量引用规则,task.setvariable需要直接传入变量的具体值,而非这种嵌套的引用表达式。

正确的写法示例

先确保你的流水线已经引用了“CI environments”变量组,再使用以下代码:

echo "##vso[task.setvariable variable=CIDatabase]$(CI_${{variables['Build.SourceBranchName']}})"

当流水线在Branch1分支运行时,${{variables['Build.SourceBranchName']}}会被解析为Branch1,最终会引用变量组里的CI_Branch1变量,将其值Database1赋值给CIDatabase。

内容的提问来源于stack exchange,提问作者Oletros

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:02:32