Какой правильный синтаксис подстановки для копирования артефактов TeamCity в корень пути назначения?
У меня небольшая драма с синтаксисом подстановки в моей конфигурации артефакта TeamCity. Я хочу захватить каждый файл, соответствующий шаблону myproject. *. Dll из любой папки, и поместить каждую DLL в root из пути артефактов.
Вот что я получил сейчас:
**/obj/Debug/myproject.*.dll => /
Это захватывает все библиотеки DLL, но он помещает их в ту же структуру папок, что и источник, вместо того, чтобы заканчиваться "myproject.web.dll" в артефактах, которые я получаю "Web/obj/debug/myproject.web. длл".
Что мне здесь не хватает?
Ответы
Ответ 1
Боюсь, вы не сможете сделать это легко.
Вы должны собирать локальную локальную локальную сеть *.dll в одном месте, а не использовать правило артефактов TeamCity для копирования всех из них в корневой каталог.
Или вы можете ввести все пути вручную (без ** части)
Вот как это работает в TC.
Ответ 2
Я не уверен, что вы можете использовать корень артефакта, не копируя структуру. В документах указывается
Если целевой каталог опущен, файлы публикуются в корне строить артефакты.
Можете ли вы не просто использовать указанное имя папки say dist, это вызовет проблемы? Если да, то каковы они!
например
**/obj/Debug/myproject.*.dll => dist
Update - нашел дополнительную информацию в документах
Файлы будут опубликованы, сохраняя структура каталогов сопоставляются подстановочными знаками (каталоги согласованный "статическим" текстом, не будет создано). То есть TeamCity будет создавать каталоги, начиная с первое появление шаблона в шаблон.
Итак, если вы можете быть более явным, это может привести к более плоской структуре.