Azure DevOps中的发布管道工件的文件模式

时间:2020-02-19 12:28:01

标签: azure azure-devops continuous-integration yaml azure-pipelines

最近刚刚建立了一个 Azure管道,其中在一个阶段中,工件暂存目录中存在不同的zip文件。我要实现的目标是使用PublishPipelineArtifact任务将暂存文件夹中的zip文件发布到 drop 文件夹 all 中。

我在工件暂存目录中有2个存档的zip文件:

  1. $(Build.ArtifactStagingDirectory)/ $(Build.BuildId).zip
  2. $(Build.ArtifactStagingDirectory)/ cli_scripts _ $(Build.BuildId).zip

在我的 azure-pipelines.yml 文件中,找到发布任务:

- task: PublishPipelineArtifact@0
  displayName: 'Publish pipeline artifacts'
  inputs:
    targetPath: $(Build.ArtifactStagingDirectory)/**

这会出现以下错误:

[错误]路径不存在:d:\ a \ 1 \ a **

我也已经尝试了以下方法,但是它们都不起作用:

$(Build.ArtifactStagingDirectory)/**
$(Build.ArtifactStagingDirectory)/**/*.zip
$(Build.ArtifactStagingDirectory)/*.zip

问题:

targetPath从该文件夹移动所有zip文件的方式是什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

最终解决此问题的方法是在任务中包括一个带有archiveFilePatterns的模式,而不是像我最初尝试的那样与targetPath结合在一起。

效果很好的解决方案如下:

- task: PublishPipelineArtifact@0
  displayName: 'Publish pipeline artifacts'
  inputs:
    targetPath: $(Build.ArtifactStagingDirectory)/
    archiveFilePatterns: '**/*.zip'

官方文档并未真正说明这一点,但它使用pattern属性Publish and download artifacts

给出了想法。

enter image description here

我希望以后能对某人有所帮助。