将TeamCity工件复制到目标路径的根目录的正确通配符语法是什么?

时间:2011-03-04 23:14:01

标签: configuration teamcity artifacts

我在TeamCity工件配置中使用通配符语法进行了一个小戏剧。我想从任何文件夹中获取与myproject。*。dll模式匹配的每个文件,并将每个DLL放在工件路径的 root 中。

这就是我目前所拥有的:

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

这是抓取所有的DLL,但它将它们放在与源相同的文件夹结构中,而不是在工件“myproject.web.dll”中得到“Web / obj / debug / myproject.web”。 DLL”。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:12)

我担心你不能轻易做到这一点。 您应该将* .dll本地收集到一个地方,而不是使用TeamCity的工件规则将所有这些工具复制到根目录。

或者,您可以手动输入所有路径(不含**部分)

这就是它在TC中的运作方式。

答案 1 :(得分:4)

我不确定你是否可以使用神器根而不复制结构。文档指定

  

如果省略目标目录   文件发布在。的根目录中   构建工件。

你能不能只使用指定的文件夹名称说dist,这会导致问题吗?如果是这样的话他们是什么!

e.g

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

更新 - 在文档中找到更多信息

  

文件将保留发布   目录的结构   与通配符匹配(目录   与“静态”文本匹配不会   创建)。也就是说,TeamCity会   从。开始创建目录   第一次出现的通配符   模式。

因此,如果你可以更明确,它可能会导致更平坦的结构。