2017-01-23 136 views
0

我试图找到TFS 2015的构建“增量”为我的构建的解决方案。 在TFS 2013中,它是通过参数“Output”的“Clean Workspace”设置完成的。构建定义的TFS 2015“增量”

输出:删除所有现有的输出,但只得到自上次构建以来已更改的源文件(增量获取);

有人可以告诉我,这应该怎么做在TFS 2015?

谢谢。

回答

0

假设你提到新的构建系统,并且你想有一个增量构建。当您添加Visual Studio Build/MSBuild任务来构建项目时,请取消选中Clean选项。检查下面的截图:

enter image description here

清洁选项:设置为False,如果你想使这个增量构建。这个 设置可能会缩短您的编译时间,尤其是如果您的代码库大小为 。除非您还将Clean 存储库设置为False,否则此选项没有实际影响。

如果您想重建代码项目中的所有代码,请将其设置为True。 这相当于MSBuild /target:clean argument

+0

你好。谢谢你的回答。但这不完全是我需要的。 我不使用Build解决方案。我需要的是: 使用变更集中的所有元素创建新文件夹。或者用我的标签更改创建文件夹。 我看到它可能是相同的功能,但我无法找到如何使用存在于更改中的组件创建新文件夹。我知道我可以指定C(变更集编号)或L(MyLabelName)。 –

+0

您可以在Variables选项卡上添加“Build.Clean”变量并将其设置为“source”,然后每次对构建进行排队时,整个源文件夹都将被删除并获取您在构建服务器工作区中指定的变更集/标签。 –

+0

你好。这个变量是从一开始就由我设定的。它在做什么 - 它会像你说的那样删除整个源文件夹,但是在获取了项目中的所有内容之后。据我了解这是默认功能: 2017-01-25T13:34:39.2187897Z检查源目录是否存在: D:\ BuildAgent \ _work \ 1 \ s 2017-01-25T13:34:39.2187897Z删除源目录。 2017-01-25T13:34:40.7947533Z开始:获取源代码 因此,在结果源目录中再次包含Project +我的更改中指定的所有代码。但这不是我要找的。 –

0

MSFT。当然,这是样本。 现在我们正在使用XAML构建定义。 例如我做了一个更改,并为它设置了24000。 我的对象只有DIS/BR-DEV/csv/my-test.inc。

将生成的输出复制到下面的下拉文件夹C \ TEST,在C \ TEST \ $(Build)中有一个新文件夹,并在将Clean Workspace设置为“Output”的情况下生成默认设置: 。 BuildNumber)\ csv \ my-test.inc(它忽略DIS/BR-DEV,因为它在Build Template中指定)。

所以不,我想使用构建定义来构建相同的功能。我正在使用“复制文件”构建步骤。

我在Source Folder = $(Build.SourcesDirectory)中指定;目标文件夹= D:\ BuildAgent_work \ 1 \ $(Build.BuildNumber)。

而问题是在内容字段。我无法指定只复制我的更改。它具有下列模式:指定要应用于要复制的文件列表的迷你匹配模式过滤器(每行一个)。例如:

  • 复制根文件夹中的所有文件。 ***复制根文件夹中的所有文件和所有子文件夹中的所有文件。 ** \ bin **从任何bin文件夹递归复制所有文件。

因此,使用这种模式,我将无法根据changeset#我的更改动态获取。

我也尝试指定C24000当我触发构建,但它只是将其添加到源文件夹中,这就是全部。

我期待看到我的目标文件夹= D:\ BuildAgent_work \ 1 \ $(Build.BuildNumber)my my test.inc。