我在TeamCity工件配置中使用通配符语法进行了一个小戏剧。我想从任何文件夹中获取与myproject。*。dll模式匹配的每个文件,并将每个DLL放在工件路径的 root 中。
这就是我目前所拥有的:
**/obj/Debug/myproject.*.dll => /
这是抓取所有的DLL,但它将它们放在与源相同的文件夹结构中,而不是在工件“myproject.web.dll”中得到“Web / obj / debug / myproject.web”。 DLL”。
我在这里缺少什么?
答案 0 :(得分:12)
我担心你不能轻易做到这一点。 您应该将* .dll本地收集到一个地方,而不是使用TeamCity的工件规则将所有这些工具复制到根目录。
或者,您可以手动输入所有路径(不含**部分)
这就是它在TC中的运作方式。
答案 1 :(得分:4)
我不确定你是否可以使用神器根而不复制结构。文档指定
如果省略目标目录 文件发布在。的根目录中 构建工件。
你能不能只使用指定的文件夹名称说dist,这会导致问题吗?如果是这样的话他们是什么!
e.g
**/obj/Debug/myproject.*.dll => dist
更新 - 在文档中找到更多信息
文件将保留发布 目录的结构 与通配符匹配(目录 与“静态”文本匹配不会 创建)。也就是说,TeamCity会 从。开始创建目录 第一次出现的通配符 模式。
因此,如果你可以更明确,它可能会导致更平坦的结构。