Azure DevOps Pipeline:基于矩阵动态生成Job显示名称问题
解决Azure DevOps Pipeline中Job动态displayName不填充的问题
问题原因
你当前使用$(vmImage)这种运行时变量引用方式设置displayName,但displayName属于管道编译阶段就需要解析的属性,运行时变量在这个阶段无法被正确替换,导致UI里无法显示预期的镜像名称。
解决方案
方案1:用编译时表达式引用矩阵变量
直接替换为${{ variables.vmImage }},编译阶段就能正确解析矩阵中的镜像值:
jobs: - job: RunTests displayName: 'Run Tests on ${{ variables.vmImage }}' timeoutInMinutes: 60 strategy: matrix: windows: vmImage: 'windows-latest' mac: vmImage: 'macos-latest' pool: vmImage: $(vmImage) steps: - ...
方案2:在矩阵中单独定义displayName变量
如果需要更灵活的命名格式,可在矩阵的每个条目里单独定义jobDisplayName变量,再通过编译时表达式引用:
jobs: - job: RunTests timeoutInMinutes: 60 strategy: matrix: windows: vmImage: 'windows-latest' jobDisplayName: 'Windows 最新镜像测试' mac: vmImage: 'macos-latest' jobDisplayName: 'Mac 最新镜像测试' displayName: ${{ variables.jobDisplayName }} pool: vmImage: $(vmImage) steps: - ...
两种方案都能让UI中的Job名称正确显示对应的代理镜像信息。
内容的提问来源于stack exchange,提问作者Grant Culp
相关产品推荐
相关产品推荐

