有没有一种方法可以识别在Azure Devops CI构建中签入的TFS分支



我有一个TFVC项目,大约有4个分支。我需要以某种方式设置构建和发布管道,为每个分支构建一个工件。因为我最终需要在其他地方重复这个过程,所以我希望避免为每个分支重复相同的构建管道。当管道启动时,我可以使用用户定义的变量配置一个单独的构建管道,该管道可以在我需要的任何分支上工作,但现在我需要在构建上启用连续集成。

我当前的构建管道触发配置

我需要这样做,以便每当有人签入其中一个TFVC分支时,构建就会启动,并且可以正确地识别更新了哪个分支。根据我的发现,这意味着我最初对用户定义变量的想法将不再有效。是否有一个预定义的管道变量,我可以使用它来判断签入了哪个分支,以便该分支就是被签出和构建的分支?如果没有,是否有其他方法可以在一个管道中做到这一点,或者我最终是否需要为每个分支复制这个构建管道?

很抱歉,它在Azure DevOps/TFS构建管道中的TFVC中不可用。

对于CI触发器,可以选择要包括和排除的版本控制路径。在大多数情况下,您应该确保这些筛选器与"存储库"选项卡上的TFVC映射一致。它无法根据连续集成触发构建管道的分支动态设置工作区映射路径。

您也可以看看Daniel在这个问题中的解释:当我的TFS构建是由特定于分支的签入触发时,为什么不呢;它不是把那个分支作为它的来源吗?

TFVC依赖于工作区映射来知道要下载什么工作区映射可以包含跨不同团队项目,单个存储库中的多个分支。。。。。。

因此,它无法理解如何动态地将工作区映射更改为特定分支的映射。

结论:每个分支可能需要一个构建,复制管道只需更改触发器和工作区映射中的路径过滤器。

最新更新