我有一个生成工件的yaml管道,在另一个管道中,我想要消费并使用这个工件。具体的问题是,我再也不能从产生工件的运行中找到runID了。
以前
在第二个管道中,我过去可以通过运行
从前一个管道中获得runID$(resources.pipeline.<artifactName>.runID)
我使用快捷方式将工件下载到整个管道,如:
resources:
pipelines:
- pipeline: <artifactName>
source: <pipelineName>
目前(不工作)
现在我正在使用一个任务,它将把工件下载到一个特定的阶段(而不是整个管道),并且我通过管道运行中的不同标记选择它。我遵循以下文档:https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/download-pipeline-artifact?view=azure-devops
专:
- task: DownloadPipelineArtifact@2
inputs:
source: 'specific'
project: '<myProjectName>'
pipeline: <firstPipelineID>
artifact: '<artifactName>'
targetPath: $(Pipeline.Workspace)
tags: <myTag>
我尝试像之前一样从工件中获取runID:
$(Pipeline.Workspace.<artifactName>.runID)
我不能得到runID。有人知道怎么做吗?
谢谢
根据您的描述,您需要在使用DownloadPipelineArtifact任务时获得runID。
恐怕没有这样的变量可以直接得到runID。
当您使用DownloadPipelineArtifact任务来下载工件时,它将生成一个变量:$(DOWNLOADPIPELINEARTIFACT.BUILDNUMBER)
。
与变量$(resources.pipeline.<artifactName>.runID)
具有相同的值您可以更改为使用变量:$(DOWNLOADPIPELINEARTIFACT.BUILDNUMBER)
来获取RunId。