Вы можете использовать несколько экземпляров задачи «Копировать файлы», чтобы определить структуру папок вашего артефакта.Используя комбинацию свойств «Исходная папка», «Содержимое» (позволяет фильтровать файлы) и «Целевая папка», вы можете создать структуру, которая будет работать для вас.Только будьте осторожны, чтобы не проверять опции «Очистить целевую папку» или «Свести папки», иначе вы потенциально рискуете потерять часть своей структуры.
Что-то вроде:
"Source Folder" = "Solution"
"Contents" = "**/Scripts/**/*.*"
"Target Folder" = "$(Build.ArtifactStagingDirectory)/Scripts"
"Source Folder" = "Solution"
"Contents" = "**/*_GLOBAL/**/*.*"
"Target Folder" = "$(Build.ArtifactStagingDirectory)/Global"
"Source Folder" = "Solution"
"Contents" = "**/*_REPORTING/**/*.*"
"Target Folder" = "$(Build.ArtifactStagingDirectory)/Reporting"
Должно дать вам:
Artifact
- Scripts
- Script 1
- Script 2
...
- Global
- Global.exe
...
- Reporting
- Reporting.exe
...
Хотя с помощью указанных выше параметров вы сможете достичь того, чего хотите, я бы предложил, если ваше решение содержит несколько проектов, которые по отдельностиДля достижения разных целей, возможно, вы захотите разделить их на отдельные решения (_REPORTING) и объединить общие функциональные возможности (_GLOBAL?) с помощью NuGet или аналогичного.