首页 > 解决方案 > TFS - 多个构建提供单个版本

问题描述

我有 2 个构建(A 和 B),它们创建自己的工件,这些工件被放入 $(Build.ArtifactStagingDirectory),然后发布到“Visual Studio Team Services/TFS”

构建 A 一切正常,但我发现当我想从构建 B 下载工件时,找不到该工件。当我查看错误消息时,我可以看到 TFS 实际上是从构建 A 中寻找它。

我不想指向版本 B 的特定版本号,而只想指向 B 的最新版本。

任何人都知道我可以如何更新参考,以便 TFS 正在查看构建 B?

触发新版本

如果我使用“下载工件”任务,如果我指向“特定构建”,我可以让它工作,但如果我使用“当前构建”选项,它就不起作用

下载神器

标签: tfsbuildartifact

解决方案


尝试以下步骤来实现:

  1. 创建 2 个构建定义以对 Build A 和 B 进行排队:

    构建定义 A - 构建 A

    构建定义 B - 构建 B

  2. 创建发布定义,添加Build Definition ABuild Definition B作为工件源。

  3. 触发释放

在此处输入图像描述


发布适用于多个工件:

在此处输入图像描述


更新1:

Download Artifact任务仅适用于单个工件,多个工件不起作用。

此外,为什么你必须使用Download Artifact任务?默认情况下,发布定义已启用Download Artifact,这意味着它将自动下载多个工件,然后您只需在其他任务中直接使用多个工件即可。


更新2:

由于您已经在发布定义中链接了多个工件,这意味着您必须下载它们以用于后续阶段/任务。但是根据您的描述,您似乎想使用该Download Artifact任务来下载其中一个的最新版本。这似乎与您的要求有点矛盾。

我能想到的是,您可以将工件下载到暂存文件夹,然后添加复制任务以复制您在阶段中需要的工件。

此外,如果你想下载所有最新的工件,你可以试试这个扩展:下载工件

在此处输入图像描述


推荐阅读