azure-devops - 从 AzureDevOps YAML 管道中的所有工件(工件名称)下载所有文件
问题描述
我有一个带有一些阶段的管道,例如
Build -> Dev -> Test -> Prod
构建阶段为系统的不同部分生成一些 nuget。由于这种情况发生在不同的工作中,因此会发布一些工件名称,例如:
server\server.nupkg
client\client.nupkg
auth\auth.nupkg
然后在以下阶段使用这些内容,下载、将变量替换应用于某些配置并将配置到环境的新 nuget 作为 drop 发布。
例如,测试阶段有一项工作是在所需的 nuget 中转换配置并将其作为管道工件发布。因此,此时孔管道的工件如下所示:
server\server.nupkg
client\client.nupkg
auth\auth.nupkg
Test
server.nupkg
client.nupkg
auth.nupkg
当涉及到 prod 阶段时,我想从除测试工件名称之外的所有工件名称中下载所有* .nupkg。
我尝试在“DownloadPipelineArtifact”任务中使用排除模式,但没有成功:
- task: DownloadPipelineArtifact@2
displayName: Download nugets
inputs:
buildType: 'current'
itemPattern: |
'*/*.nupkg'
'!Test'
'!Test/*.nupkg'
targetPath: '$(MyDirectory)/nugets'
有任何想法吗?
解决方案
如果server
、和是不同的工件client
,那么您应该能够单独下载前三个,或者通过使用“排除”文件匹配模式在单个任务调用中完成,第一段是工件名称。请参阅在 Azure Pipelines 中发布和下载工件 | 多个工件。auth
Test
示例 #1,单独下载工件:
- download: current
artifact: server
- download: current
artifact: client
- download: current
artifact: auth
尽管根据当前文档,以下示例应该可以工作,但它没有。看起来文档不正确。有关详细信息,请参阅此问题:
注意递归通配符的双星号,否则多行 YAML 字符串中不包含引号。
- download: current
patterns: |
**/*.nupkg
!Test/**
推荐阅读
- html - 如何使用 css 网格正确拟合两个部分
- visual-studio - 如何在不禁用建议的情况下禁用自动完成?
- c++ - 可以创建N个方法的类接口
- c# - 最小化 Varbinary(max) 列中的选择时间
- wordpress - 在 Woocommerce 中更改管理员显示的每页值的产品属性术语
- r - 删除所有包含 0 的单元格并将值向左移动
- git - 将 IntelliJ 与 Gitlab 合并
- azure-active-directory - Azure AD - 允许用户更新其职位/部门
- python - Dask:为什么CPU使用率突然下降?
- python-3.x - Pyspark Py4JJavaError