VSTS-下载触发工件

时间:2018-08-26 22:17:59

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

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

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

但是,当我向“通用”发行版中添加另一个工件时,使得该发行版上现在有ClientAClientB工件,触发该发行版时会同时下载这两个工件,并且它们都是然后推。


我想知道的是,是否有可能只发布版本 来下载触发工件。

示例: ClientAClientB上都触发了释放。

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

3 个答案:

答案 0 :(得分:1)

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

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

克隆版本定义,并将工件从ClientA更改为ClientB。

您最终将拥有两个发行版定义,两个版本都共享步骤,但是构件会有所不同。

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

Eddie建议了一个不错的解决方法。这是您可以手动下拉工件的方法。

  1. 您需要启用Allow scripts to access OAuth token

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

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

答案 1 :(得分:1)

没有任何方法可以做到这一点。但是您可以禁用自动下载工件,并在发布定义中添加powershell脚本以获取触发的工件并下载。

答案 2 :(得分:0)

无法直接下载触发的工件,但是您可以通过 RELEASE_TRIGGERINGARTIFACT_ALIAS 变量来确定触发此版本的工件。

因此,您可以将每个变量推入该变量。