Azure DevOps Pipeline变量定义中引用已定义变量的实现方法
你所需要的同变量块内前置变量嵌套引用需求可以通过Azure DevOps的模板表达式语法实现,你之前用的$(变量名)属于宏语法,这类语法是运行时同一批次解析同层级变量,因此无法识别同一块内先定义的其他变量。
正确的写法如下:
variables: - name: basePath value: \\somepath - name: servicePath value: ${{ variables.basePath }}\servicePath - name: backupPath value: ${{ variables.basePath }}\backups
注意事项
- 模板语法
${{ }}是编译阶段按从上到下的顺序解析变量,因此必须确保你引用的变量定义在当前变量的上方 - 如果你的变量是后续步骤动态生成的输出变量,无法在
variables定义阶段提前引用,只能在后续步骤内直接用$(basePath)\xxx的方式拼接使用 - 该语法同时支持引用模板参数、管道全局变量等其他编译阶段可确定值的变量
内容的提问来源于stack exchange,提问作者minhtuanta
相关产品推荐
相关产品推荐

