19

我们在 TFS 内部使用新的 VSO/VSTS 样式构建,截至昨天的 2015 更新 1。

在发布构建工件阶段,我们希望从根栏 2 个子文件夹中复制所有文件/文件夹。

IE:

$\somefilestopublish1\...
$\somefilestopublish2\...
$\somefilestoexclude1\...
$\somefilestoexclude2\...

目前我有**\*作为内容的论点,它显然会发布所有内容。我尝试;-:<exclude_pattern>按照 Google 搜索的建议进行附加,但这只是停止了所有输出并导致一个空文件夹。

有没有办法使用 minimatch 表达式来排除文件夹,或者我需要交换以明确选择要发布的文件夹。

4

5 回答 5

16

Minimatch 使用“!” 排除给定的模式。您可以使用以下格式指定它:

!(somefilestoexclude1|somefilestoexclude2)

以下是示例: 使用!(bin|obj),“WindowsFormsApplication1”文件夹下的“bin”文件夹和“obj”文件夹不会复制到工件。 在此处输入图像描述

于 2015-12-03T05:52:56.117 回答
1

!/$tf/** 对我有用。我选择将其缩短为 !/$*/**

http://www.globtester.com/帮助。尽管 msdn 上的指导存在冲突,但不必转义 $ 符号:https ://msdn.microsoft.com/en-us/library/bb383819.aspx 。

于 2016-02-17T07:38:18.407 回答
1

假设您想收集解决方案中的所有*.nupkg文件(例如您在构建期间创建的文件)并将它们复制到另一个文件夹,但您想排除通过包还原获得的文件,您需要指定下列的:

**\*.nupkg !packages\**

按此顺序指定它们很重要。将排除项放在包文件夹的顶部,将导致复制任务复制所有 *.nupkg 文件。

于 2017-12-11T13:36:31.830 回答
0

这对我有用的文件夹试试这个!**\Uploads*** 对于文件**!(Web.config)

上面的示例用于排除同一文件夹路径中可用的文件夹和文件。

于 2017-02-17T14:07:53.880 回答
0

在 TFS 2017 Update 1 上,如果您正在使用复制文件任务并且想要复制 $(Build.SourcesDirectory) 中的所有文件但排除 $tf 文件夹,我发现可以使用以下内容。

在内容文本框中输入以下两行。

**\*
!$tf\**

social.msdn.microsoft.com 上的这篇文章帮助我解决了这个问题。

于 2017-12-05T15:51:32.033 回答