Azure DevOps 变量意外设置为 Null

Azure DevOps variable is unexpected set to Null

我有一个包含多个作业的管道。出于某种原因,设置舞台的变量在作业 运行 的条件下为 Null。

这是管道 yaml:

https://github.com/ossentoo/azdo-yaml-varsdemo/tree/feature/private-agent

我不希望评估为 false 的语法在 child.yml(第 24 行)中:

我附上了 Azure DevOps 日志中的文件之一 logs

在第 73 行的日志中,显示为:

问题是,如果在舞台上设置值,为什么变量applicationsList为Null?我已尝试将语法更改为 variables.applicationsList,但这似乎也不起作用。

谢谢

谢谢

问题是 ${{ ... }} 语法是在编译时求值的。在那个时间点,该值仍未定义。

相反,您可以使用 condition: $[ ... ]。该语法将在运行时进行评估。

参见:

- ${{ each folder in parameters.folders }}:
  - deployment: ${{replace( folder ,'-','_')}}
    displayName: 'Apply ${{ folder }}'
    timeoutInMinutes: 480
    condition: $[contains(variables['applicationsList'], ${{folder}})]