TeamCity SMB部署者 - 用于压缩文件夹结构的工件

时间:2015-08-27 17:30:48

标签: teamcity smb teamcity-9.0

我在TeamCity 9.1项目配置中的最后一个构建步骤使用SMB部署者将文件复制到共享网络驱动器(我们用它来将版本部署到我们的用户)。

副本执行正常,但部署者以某种方式创建层次结构中通向lynx --dump -listonly https://soundcloud.com/search/sounds?q=L%20AME%20IMMORTELLE | \ tr "\t\r\n'" ' "' | \ grep -i -o 'http......HERE I NEED THE GREP STUFF' | \ sed -e 's/^.*"\([^"]\+\)".*$/\1/g' \ >k.txt 文件夹的所有文件夹。例如:

我的配置是:

目标网址:

bin

工件路径:

\\theserver\thefolder

使用此配置,我希望将文件复制到**\ProjectName\bin\Release\* => . **\ProjectName\bin\Release\Resources\* => Resources \\theserver\thefolder\*

然而,这是我得到的结果:我的文件被复制到

\\theserver\thefolder\Resources\*

如何使用工件定义,以便将文件复制到正确的文件夹中?我的语法很难用

1 个答案:

答案 0 :(得分:3)

**\前缀导致工件路径输出包含匹配的文件夹层次结构。

您需要使用Project文件夹的完整路径,如果您想要包含嵌套目录,请使用工件路径末尾的**\*

\path\to\ProjectName\bin\Release\**\* => .
\path\to\ProjectName\bin\Release\Resources\**\* => Resources

有关详细信息,请参阅artifact path doco,具体为:

  

通配符 - 发布与类似Ant的通配符模式匹配的文件(仅支持" *"和" **"支持通配符)。通配符应表示相对于构建签出目录的路径。这些文件将被发布preserving the structure of the directories matched by the wildcard(与#34匹配的目录;静态"将不会创建文本)。也就是说,TeamCity将从模式中第一次出现通配符开始创建目录。