我在库中定义了变量组:
我正在尝试在 Azure DevOps YAML Pipeline 的特定任务中覆盖上述库中定义的变量的值:
trigger:
- none
pool:
vmImage: ubuntu-latest
variables:
- group: DevGroup
steps:
- script: |
echo "##vso[task.setvariable variable=HarisJob;isoutput=true]FSDeveloper"
echo $(VanisJob)
- script: |
echo $(VanisJob) is the 2nd Job
结果:
第一个脚本结果
第二个脚本结果 - 这里的值应该按照 YAML 管道中的定义进行更改,但不更改
从您的 yaml 示例中,您正在使用日志记录命令来设置变量名称:HarisJob。
变量名称与变量组中的变量名称不同。
在这种情况下,它将创建一个新变量(名称:HarisJob),而不是覆盖变量组中的变量值。
要解决这个问题,需要在使用logging命令设置变量时,在Pipeline中设置相同的变量名。
例如:
pool:
vmImage: ubuntu-latest
variables:
- group: DevGroup
steps:
- script: |
echo "##vso[task.setvariable variable=VanisJob]FSDeveloper"
echo "$(VanisJob)"
- script: |
echo "$(VanisJob) is the 2nd Job"
结果:
注意: 您需要删除日志命令中的 isoutput=true。或者变量名称将更改为 $(CMDLINE1.VANISJOB)
例如:
echo "##vso[task.setvariable variable=VanisJob]FSDeveloper"