azure-devops - VSTS - 下载触发工件
问题描述
我目前定义了一个版本,用于将客户端推送到内部 nuget 服务器。
每个版本在步骤方面都是相同的,唯一改变的是触发工件。
但是,当我将另一个工件添加到“通用”版本时,以便发布中有 nowClientA
和ClientB
工件时,会在触发发布时下载两个工件,然后将它们都推送。
我想知道的是是否可以让版本只下载触发工件。
ClientA
示例:在和上都触发了释放ClientB
。
ClientB
被释放。构建触发并且仅ClientB
在部署期间使用工件。
解决方案
我认为目前这是不可能的,但类似的事情是可能的。
从当前版本定义创建任务组,如下所述:https ://docs.microsoft.com/en-us/vsts/pipelines/library/task-groups?view=vsts
克隆发布定义并将工件从 ClientA 更改为 ClientB。
您最终将拥有两个发布定义,它们都共享步骤,但工件会有所不同。
编辑:用于下载构建工件的 PowerShell 脚本
Eddie 提出了一个很好的解决方法。这是手动下拉工件的方法。
您需要启用允许脚本访问 OAuth 令牌
向每个阶段添加 PowerShell 任务并引用DownloadBuildArtifacts.ps1脚本
如果发布是由构建工件触发的,则预定义变量“$(RELEASE.TRIGGERINGARTIFACT.ALIAS)”的值将是触发的工件别名。您可以通过获取此变量的值来确定哪个工件触发了发布。
推荐阅读
- python - 如何获取创建对象的文件的源代码?
- c++ - 在 C++ 中使用派生类型覆盖成员函数
- php - 雄辩的只获得第一个主动查询
- python-3.x - python multiprocessing - 未使用预期参数调用的方法
- android - 如何在我的 android 应用程序源代码的特定页面上获取 webview(加载 url)?
- javascript - 如何在 JavaScript 中检查图像中是否存在颜色
- kentico - Kentico 12 Azure 搜索
- c++ - 构建 MRPT 库时 cmake 配置失败
- windows - 将特定文件添加到 Windows 路径
- javascript - 在多维数组Javascript中使用地图