3

TFS 构建流程在 TFS 2010 的构建模板(实际上是带有 *.xaml 扩展名的 Windows Workflow Foundation 文件)中定义。
在简单项目中处理单个构建定义非常方便,但在不久的将来我们将拥有更复杂的项目,我们将有许多非常不同的构建定义,但同时其中一些会有一些重要的共同点逻辑部分。

并且不希望在每个构建模板中复制通用逻辑,另一方面,拥有一个超级智能参数化构建被认为不是最好的主意。

长话短说,但问题是
是否有可能将通用逻辑放入另一个构建模板/或_whatever中并重用它?

如果没有 - 您对这种情况有一些方法/建议吗?

更新
如前所述K.Hoff,有可能创建自定义活动,但我想更深入地重用活动和序列(简单地说,类似于 Ant 或 NAnt 所做的 - 将一个文件包含到另一个文件中,从另一个,等等)。

4

3 回答 3

1

我们有类似的情况,但是由于我们的大多数构建场景都是相似的(即 get->build->test->deploy),我们主要通过一个大定义和自定义活动来解决它。我们也利用Community TFS Build ExtensionsExecuteWorkflow提供的活动。

这适用于“简单”场景,我们不更广泛地使用它的原因是因为在工作流执行之间传递参数非常复杂。这是我遇到的问题的链接(以及我找到的解决方案)。

于 2012-07-22T16:34:29.980 回答
1

我建议您检查是否可以编写代码活动来执行具有通用构建功能的工作流(.xaml 文件)。因此,可以将此类代码活动放入多个“主”构建模板中,以便重用通用流程。这是一个如何动态加载和执行工作流的示例 - http://msdn.microsoft.com/en-us/vs2010trainingcourse_introtowf_topic8.aspx

于 2012-07-21T19:02:57.783 回答
0

您可以按照此处的说明创建自定义代码活动,并在其他构建模板中重用它们。

另一种方法是实现良好的旧 msbuild 脚本并将它们放在 msbuild 执行活动中,以便在许多构建过程模板中重用它们。

我找不到快速重用完整序列的方法,我们找到的唯一方法是尽可能通用地编写活动并注入参数以使其运行。

但我认为这不是 TFS 问题,而是工作流问题。

于 2012-07-20T21:09:41.527 回答