Azure管道通配符建议

Azure管道通配符建议,azure,azure-devops,azure-pipelines,Azure,Azure Devops,Azure Pipelines,我想递归复制所有的.nupkg文件,但只能从名称以“Zafiro”开头的目录中复制 我已经在azure-pipelines.yml中创建了此任务 - task: CopyFiles@2 inputs: SourceFolder: '$(Agent.BuildDirectory)' Contents: '**\Zafiro.*\*.nupkg' TargetFolder: '$(build.artifactstagingdirec

我想递归复制所有的.nupkg文件,但只能从名称以“Zafiro”开头的目录中复制

我已经在azure-pipelines.yml中创建了此任务

    - task: CopyFiles@2
      inputs:
        SourceFolder: '$(Agent.BuildDirectory)'
        Contents: '**\Zafiro.*\*.nupkg'
        TargetFolder: '$(build.artifactstagingdirectory)'
        flattenFolders: true
但是它复制了0个文件。 通配符('**\Zafiro.*.nupkg')似乎没有按预期工作

我怎样才能得到我想要的

Azure管道通配符建议

模式
Zafiro.*
应该有效。我用我身边的一个样品测试了一下,效果很好

作为测试,我在不同的文件夹中上传了一些nuget包,包括repo中的测试文件夹
Zafiro.test
,而不是创建nuget包:

现在,我使用相同的YAML文件对其进行测试,为了更直观地查看结果,我将
TargetFolder
替换为我的本地文件夹:

pool:
  name: MyPrivateAgent

steps:
- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Agent.BuildDirectory)'
    Contents: '**\Zafiro*\*.nupkg'
    TargetFolder: 'D:\PublishFolder'
    flattenFolders: true
结果是:

因此,Zafiro.*的模式应该是有效的

要解决此问题,首先,我们需要确保在
Agent.BuildDirectory
文件夹中的
Zafiro.*
中有nuget包。我们可以先将
'***\Zafiro*\*.nupkg'
的内容更改为
'***.nupkg'
,以检查
代理.BuildDirectory
文件夹中是否有nuget包

其次,正如Shayki Abramczyk所说,我们可以尝试删除
Zafiro.*
中的


如果上述问题仍然无法解决,请共享此复制任务的调试日志。

代理是Windows或Linux?它是Windows代理这里有一些嵌套文件夹或只有一级
Zafiro.*
*.nupkg
文件?如果您正在管道中构建一个包,使用将为您填充文件的
***.nupkg
。否则,只需尝试
Zafiro.*.nupkg
@SuperJMN为什么在
Zafiro.*
中有
?文件夹的名称为
?我使用
**/Zafiro*/*.nupkg成功复制