TeamCity SMB部署器-用于扁平化文件夹结构的构件

TeamCity SMB部署器-用于扁平化文件夹结构的构件,teamcity,smb,teamcity-9.0,Teamcity,Smb,Teamcity 9.0,TeamCity 9.1项目配置中的最后一个构建步骤使用SMB部署器将文件复制到共享网络驱动器(我们使用该驱动器将版本部署到用户) 复制执行得很好,但部署人员以某种方式创建了层次结构中指向bin文件夹的所有文件夹。例如: 我的配置是: 目标URL: \\theserver\thefolder **\ProjectName\bin\Release\* => . **\ProjectName\bin\Release\Resources\* => Resources 工件路径: \\t

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

复制执行得很好,但部署人员以某种方式创建了层次结构中指向
bin
文件夹的所有文件夹。例如:

我的配置是:

目标URL:

\\theserver\thefolder
**\ProjectName\bin\Release\* => .
**\ProjectName\bin\Release\Resources\* => Resources
工件路径:

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

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

\\theserver\thefolder\ProjectName\bin\Release\*
\\theserver\thefolder\Resources\ProjectName\bin\Release\Resources\*

如何使用工件定义将文件复制到适当的文件夹?我很难理解这种语法,

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

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

\path\to\ProjectName\bin\Release\**\* => .
\path\to\ProjectName\bin\Release\Resources\**\* => Resources
有关更多信息,请参阅文档,具体如下:

通配符-发布与Ant-like通配符模式匹配的文件(仅支持“*”和“**”通配符)。通配符应表示相对于生成签出目录的路径。文件将被发布
,保留通配符匹配的目录结构(不会创建与“静态”文本匹配的目录)。也就是说,TeamCity将从模式中第一次出现通配符开始创建目录


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

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

\path\to\ProjectName\bin\Release\**\* => .
\path\to\ProjectName\bin\Release\Resources\**\* => Resources
有关更多信息,请参阅文档,具体如下:

通配符-发布与Ant-like通配符模式匹配的文件(仅支持“*”和“**”通配符)。通配符应表示相对于生成签出目录的路径。文件将被发布
,保留通配符匹配的目录结构(不会创建与“静态”文本匹配的目录)。也就是说,TeamCity将从模式中第一次出现通配符开始创建目录


完美的我没有意识到我的工作目录不在
/bin/release
级别。谢谢你的修复!:)完美的我没有意识到我的工作目录不在
/bin/release
级别。谢谢你的修复!:)