在我的 TFS 2017 构建定义中,我试图将具有特定名称 (Package) 的文件夹复制到我的 Artifacts 目录中。我只对特定文件夹本身感兴趣,而不对它的父文件夹感兴趣。
有人可以启发我应该如何进行这项工作吗?
复制文件任务的当前配置:
来源:$(agent.builddirectory)
内容:**\包***
目标文件夹:$(build.artifactstagingdirectory)\MyArtifact
这导致以下文件夹结构,而我唯一感兴趣的是 Package 文件夹:
\MyArtifact\folderX\s\folderY\folderZ\folderA\Package
最佳答案
使用 TFS2017update1 及更高版本,VSTS,您可以简单地在 Copy Files Task 的 Advanced 选项下检查 Flatten Folders 。目前最简单的解决方案。
This will flatten the folder structure and copy all files into the specified target folder.
不确定您是否正在使用 2017 发行版,并且没有 Flatten Folders 选项。如果您只想复制没有文件夹结构的文件,则需要 指定复制根目录 。您可以使用
$(Build.StagingDirectory)
作为目标。之后使用 Publish 任务 和 $(Build.StagingDirectory)
作为复制根并将所有内容从该根发布到 drop。详细步骤和截图请看Eddie在这个问题中的回答:Copy one file in target directory on deploy from visual studio team services
关于TFS 2017 构建没有文件夹结构的复制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46654774/