我们使用TFS源代码控制并拥有两个构建控制器(一个VS2010,另一个VS2012)。我们使用默认的构建工作流模板栏进行一些自定义更改。
由于我们有很多分支,我们将如何根据所需的分支更改工作区?
我正在考虑为分支($\oursourcecontrol\branches\main
)添加一个参数,然后将其作为变量传递到工作流的get workspace部分。
或者有更好的方法吗?
答案 0 :(得分:8)
你现在不能,这真的是一种耻辱。它将彻底打破对CI和盖茨签到的Trigger支持。您可以使用TFS Community Build Manager快速克隆和调整构建定义以支持多个分支。
你可以做的是获取超过你需要的数量(比如说$/Sourcecontrol/Branches/*
)然后在任何路径参数上使用字符串替换(比如构建解决方案,测试设置文件等)将它们全部指向正确的解决方案。你可能需要做一些像{BRANCH}
这样的模板,以便你可以轻松地替换这些标记。
Git构建模板确实在Git存储库上支持此功能,但您需要TFS 2013来使用服务器端Git支持。
答案 1 :(得分:-1)
我在包含TFS分支的更高级别的Repository选项卡中映射了服务器路径。除了要构建的分支之外,获取源代码步骤不需要隐藏其余分支。并创建变量来传递分支名称,在队列时检查允许。在构建步骤中使用此分支变量,以使构建定义适用于所有分支。根据TFS中的分支结构,您可能需要多个变量。