Какой правильный подстановочный синтаксис используется для копирования артефактов TeamCity в корень пути назначения? - PullRequest
13 голосов
/ 05 марта 2011

У меня небольшая драма с подстановочным синтаксисом в моей конфигурации артефакта TeamCity. Я хочу получить каждый файл, соответствующий шаблону myproject. *. Dll, из любой папки и поместить каждую DLL в root пути артефактов.

Вот что у меня есть на данный момент:

**/obj/Debug/myproject.*.dll => /

Это захватывает все библиотеки DLL, но помещает их в ту же структуру папок, что и исходный код, вместо того, чтобы заканчивать с "myproject.web.dll" в артефактах, которые я получаю "Web / obj / debug / myproject.web. длл».

Что мне здесь не хватает?

Ответы [ 2 ]

12 голосов
/ 05 марта 2011

Боюсь, вы не можете сделать это простым способом. Вы должны собрать ваши * .dll локально в одном месте, а затем использовать правило артефактов TeamCity, чтобы скопировать их все в корневой каталог.

Или вы можете ввести все пути вручную (без ** части)

Вот как это работает в TC.

4 голосов
/ 05 марта 2011

Я не уверен, что вы можете использовать корень артефакта, не копируя структуру. Документы указывают

Если целевой каталог опущен, файлы публикуются в корне строить артефакты.

Можете ли вы не просто использовать назначенное имя папки, скажем dist, это может вызвать проблемы? Если да, то что они!

1009 * например *

**/obj/Debug/myproject.*.dll => dist

Обновление - больше информации вы найдете в документации

Файлы будут опубликованы с сохранением структура каталогов соответствует символу подстановки (каталоги совпадать с "статическим" текстом не будет создано). То есть TeamCity будет создавать каталоги, начиная с Первое появление подстановочного знака в шаблон.

Так что, если вы можете быть более явным, это может привести к более плоской структуре.

...