Удалить структуру каталогов в артефактах Teamcity - PullRequest
12 голосов
/ 26 октября 2011

Я использую Teamcity для создания различных пакетов и хочу сохранить эти пакеты как артефакты. Мой путь к артефакту в TeamCity следующий:

%system.teamcity.build.workingDir%\**\Release**/*.wsp => Solution 

Теперь TeamCity собирает все WSP-файлы в любом Release-Directory после правильной сборки. Но он сохраняется, включая все подкаталоги, такие как:

How the Files are being offered

Я хочу только .wsp-файл непосредственно в «решении» без дерева каталогов.

Ответы [ 3 ]

6 голосов
/ 26 октября 2011

Из документов TeamCity:

подстановочный знак - для публикации файлов, соответствующих шаблону с подстановочными знаками, похожим на Ant (поддерживаются только подстановочные знаки "" и "*).Подстановочный знак должен представлять путь относительно каталога проверки сборки.Файлы будут опубликованы с сохранением структуры каталогов , соответствующих символу подстановки (каталоги, соответствующие «статическому» тексту, не будут созданы).То есть TeamCity создаст каталоги, начиная с первого вхождения шаблона в шаблоне.

http://confluence.jetbrains.net/display/TCD65/Configuring+General+Settings#ConfiguringGeneralSettings-artifactPaths

В вашем сценарии сборки (или дополнительном последнем шаге сборки) вы будете выполнятьнеобходимо скопировать необходимые файлы в одну папку и опубликовать эту папку как артефакты

4 голосов
/ 29 октября 2011

Вместо того, чтобы копировать, как подсказывает @manojlds, вы могли бы чего-то достичь, изменив OutputPath в файле yout .csproj или введя переопределение свойства OutDir при создании .sln (если вы это делаете). Имейте в виду, что ни один из этих подходов не идеален - например, TeamBuild (CI-сервер в Visual Studio ALM Tooling) перенаправляет все в один каталог, что может привести к полному беспорядку и работает только в самых простых случаях.

3 голосов
/ 12 июня 2015

У меня была эта проблема, когда я хотел собрать различные установочные файлы из подкаталогов.Добавление PowerShell Runner в качестве шага сборки довольно мощно и решает эту проблему ...

get-childitem -Recurse -Include *.wsp | Move-Item -destination .

Это переместит их в корень до того, как TeamCity рассмотрит артефакты, где основные пути артефактов, такие как *.wsp может забрать его для окончательного вывода.

...