首页 > 解决方案 > VSTS - 下载触发工件

问题描述

我目前定义了一个版本,用于将客户端推送到内部 nuget 服务器。

每个版本在步骤方面都是相同的,唯一改变的是触发工件。

但是,当我将另一个工件添加到“通用​​”版本时,以便发布中有 nowClientAClientB工件时,会在触发发布时下载两个工件,然后将它们都推送。


我想知道的是是否可以让版本下载触发工件。

ClientA示例:在和上都触发了释放ClientB

ClientB被释放。构建触发并且仅ClientB在部署期间使用工件。

标签: azure-devopsazure-pipelines-release-pipeline

解决方案


我认为目前这是不可能的,但类似的事情是可能的。

从当前版本定义创建任务组,如下所述:https ://docs.microsoft.com/en-us/vsts/pipelines/library/task-groups?view=vsts

克隆发布定义并将工件从 ClientA 更改为 ClientB。

您最终将拥有两个发布定义,它们都共享步骤,但工件会有所不同。

编辑:用于下载构建工件的 PowerShell 脚本

Eddie 提出了一个很好的解决方法。这是手动下拉工件的方法。

  1. 您需要启用允许脚本访问 OAuth 令牌

  2. 向每个阶段添加 PowerShell 任务并引用DownloadBuildArtifacts.ps1脚本

如果发布是由构建工件触发的,则预定义变量“$(RELEASE.TRIGGERINGARTIFACT.ALIAS)”的值将是触发的工件别名。您可以通过获取此变量的值来确定哪个工件触发了发布。


推荐阅读