yaml 管道:如何使用先前构建中生成的构建工件

问题描述 投票:0回答:1

使用 Azure Devops Server 2022,我定义了一个构建和发布工件的管道。 我尝试使用 PublishPipelineArtifact@1 任务,但它不起作用。我收到以下错误消息:

本地不支持管道工件任务。使用构建 替代神器任务

因此我使用 PublishBuildArtifacts@1 任务来发布工件。
我创建了另一个管道来部署之前发布的工件。

resources:
  pipelines:
  - pipeline: mypipeline-resource
    source: 'mypipeline - CI'
    trigger: none

由于管道在我的 yaml 文件中定义为资源,因此当我运行管道时,我可以从“资源”选择器中选择“管道运行”。这就是我所做的。
如何访问和使用属于我从列表中选择的管道运行一部分的工件?我必须调用下载任务吗?
我尝试使用几个预定义变量($(Build.ArtifactStagingDirectory),$(System.ArtifactsDirectory),$(Build.BuildId)),但我没有成功......
一个例子将不胜感激

azure-devops azure-pipelines azure-pipelines-yaml azure-yaml-pipelines
1个回答
0
投票

本地不支持管道工件任务。请改用构建工件任务

对于此错误,您可以参考此文档:PublishPipelineArtifact@1 - Publish Pipeline Artifacts v1 任务

本地不支持发布管道工件。如果您使用的是 Azure DevOps Server 或 TFS 2018,请使用发布构建工件。

当我们使用Azure DevOps Server 2022时,我们需要使用Publish Build Artifacts任务。

如何访问和使用属于我从列表中选择的管道运行一部分的工件?我必须调用下载任务吗?

根据您的要求,您需要下载在 Pipeline Run -> Resources 选择器中选择的工件。

为了满足您的要求,您需要在 Yaml 代码中添加步骤:

 - download: PipelineAlias
,以从 Pipeline 资源下载工件。

这是一个例子:

resources:
  pipelines:
  - pipeline: mypipeline-resource
    source: 'mypipeline - CI'
    trigger: none

steps:
- download: mypipeline-resource
  

有关更多详细信息,您可以参考此文档:下载管道资源工件

不会自动下载常规作业工件。需要时明确使用下载。

© www.soinside.com 2019 - 2024. All rights reserved.