如何将构建工件移动到当前工作目录

How to move build artifact into current working directory

我正在尝试找到一种方法将所有文件从我的工件文件夹复制到 $(System.DefaultWorkingDirectory)

现在我只能使用日志中的绝对路径移动它,但你必须同意这不是最干净的方法。

- task: CopyFiles@2
  inputs:
     SourceFolder: '/home/vsts/work/1/BuildPipeline/drop/'
     Contents: '**'
     TargetFolder: '$(System.DefaultWorkingDirectory)'

我尝试使用 $(System.ArtifactsDirectory) 变量,但当我使用它时,我最终得到了 /home/vsts/work/1/a

你能推荐一个更好的方法吗?

您可以使用 Agent.BuildDirectory 指向:/home/vsts/work/1

所以:

SourceFolder: '$(Agent.BuildDirectory)/BuildPipeline/drop/'

您可以使用 powershell 任务递归复制文件:

  - task: PowerShell@2
    displayName: copy items to current working directory
    inputs:
      targetType: 'inline'
      script: 'Copy-Item -Path "$(System.ArtifactsDirectory)$(Build.DefinitionName)\drop\*" -Destination "$(System.DefaultWorkingDirectory)" -Recurse'