Azure Pipeline копирует файлы из нескольких исходных папок в одно место - PullRequest
0 голосов
/ 11 апреля 2019

Я работаю над сборкой Azure DevOps. У меня есть Server.sln, который имеет студенческие 2 C # проекты, такие как Error.csproj и Log.csproj.

Моя структура папок, как показано ниже

Code (folder) 
   Error (folder) 
      Error.csproj
   Log (folder) 
      Log.csproj
   Server.sln

Staging (folder) 
 Error (folder) 
 Log (folder) 

У меня есть конвейер Azure, у которого есть задача сборки в режиме отладки, которая выдает Error.dll in Error\bin\debug folder и Log.dll into Log\bin\debug folder. После этого я хочу скопировать Error.dll from Error\bin\debug into Staging\Error и Log.dll from Log\bin\debug folder into Staging\Log.

Для этого я использую 2 Копирование файловых заданий .

Один для копирования Error.dll, а другой для копирования Log.dll.

Можно ли объединить эти 2 задачи копирования в одну?

Заранее спасибо.

1 Ответ

0 голосов
/ 11 апреля 2019

В соответствии со структурой ваших папок вы можете скопировать 2 файла из 2 путей следующим образом (в YAML):

- task: CopyFiles@2
  displayName: 'Copy Error and Log dll's'
  inputs:
    SourcesFolder: '$(Build.SourcesDirectory)'
    Contents: |
     Code/Error/bin/Debug/Error.dll
     Code/Log/bin/Debug/Log.dll
    TargetFolder: '$(Build.ArtifactsStagingDirectory)' # Or different folder

Но вы можете скопировать только одну цель, и в целевой папке у вас будут всепапки, указанные в «Содержании»:

- c:/agnet/_work/a/Code
                       - Error/bin/Debug/Error.dll
                       - Log/bin/Debug/Log.dll

Если вы хотите скопировать в 2 папки (ошибка и войти в ваш случай) или вы хотите копировать только библиотеки DLL (без папок, которые их содержат), вынеобходимо использовать 2 задачи копирования, или вы можете сделать копию с помощью скрипта PowerShell, а затем вы можете использовать только 1 задачу.

...