Я пытаюсь найти способ, как скопировать все файлы из моей папки с артефактами в $(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'