azure-devops - 有没有办法为 Azure Devops 的 yaml 管道中的任务动态分配名称?
问题描述
我正在使用 DownloadPipelineArtifact@2 任务并循环遍历一系列管道以下载每个管道的工件。我想在后续任务中使用每个任务的 $(BuildNumber) 输出。
${{ each p in pipelines }}:
- task: DownloadPipelineArtifact@2
displayName: 'Download ${{ p.alias }} Artifact - ${{ p.artifact }}'
name: 'Download_${{ p.alias }}'
inputs:
buildType: specific
project: $(System.TeamProjectId)
pipeline: ${{ p.id }}
preferTriggeringPipeline: false
runVersion: latestFromBranch
runBranch: 'refs/heads/${{ p.branch }}'
artifact: ${{ p.artifact }}
patterns: ${{ p.patterns }}
targetPath: '$(Pipeline.Workspace)/artifacts/${{ p.alias }}/${{ p.artifact }}'
不幸的是,我无法这样做,因为我需要通过任务名称来引用任务,并且我无法为任务分配动态名称。我收到一条错误消息
有效名称只能包含字母数字字符和“_”,并且不能以数字开头。
我尝试使用运行时变量、表达式和名称计数器,但都失败并出现相同的错误。我在这里假设名称字段不是动态分配的。
没有名称字段一切正常。但据我了解,我需要任务的名称来引用它并提取它的输出。就像是:
{{ taskName.BuildNumber }}
如果有人知道我可以动态分配名称或通过它为循环中的每个任务提取 $(BuildNumber) 的任何方式,请告诉我。谢谢!
解决方案
推荐阅读
- python - 如何将数学添加到函数中以写入文本文件
- php - Problem with seeding users and their profiles in Laravel
- apache-spark-sql - Check whether udf is registered in pyspark
- angular - 救援专家:无法解析组件错误的所有参数
- c - Linux 进程堆栈被局部变量溢出(堆栈保护)
- c++ - C++ 部分模板模板特化
- android - 在android中触摸时获取图形的x和y坐标
- php - 如何上传文件 - PHP?
- sql - 从多个列中选择一个值并在 Oracle SQL Developer 中使用所选值创建一个新列
- css - Angular Universal 未加载 angular.json 文件中给出的样式