首页 > 解决方案 > 构建在管道中更改的功能分支

问题描述

我正在使用 Azure DevOps,我们更改为分支模式,它如下所示:

如果我有一个在 Feature2 分支工作并检查更改的开发人员,我只想在 DevOps 中构建 Feature2 分支。相反,它正在构建在 Branches 文件夹下找到的每个解决方案文件。

对于Build 的Get sources部分,我有一个$/My Team Project Name/Branches的服务器路径。关于如何做到这一点的任何想法?

更新:我正在使用 TFSVC,并按照此链接中的说明(尽可能适用于 TFSVC):

https://docs.microsoft.com/en-us/azure/devops/pipelines/build/ci-build-git?view=vsts&tabs=designer

标签: azure-devopsbranchtfvc

解决方案


无法将构建任务配置为构建所有,Azure DevOps 将仅构建签入的分支,它有一个开放的用户声音

您有一些解决方法,但在每个新分支中,您都需要做一些工作:

  1. 克隆构建定义并更改源映射,每个分支的触发器的路径过滤器。

  2. 添加一个 PowerShell 步骤/任务以通过调用get changesets Rest API 来获取最近的签入更改,然后使用Logging Commands将相关的解决方案/项目文件存储在一个变量中,然后构建这些解决方案/项目

  3. 在同一个构建定义上添加几个构建任务,每个分支一个任务,并在“控制选项”中选择“运行此任务”>“自定义条件”并输入: and(succeeded(), eq(variables['Build.Build.SourceBranchName'], 'Feature{x}')),现在构建任务将只执行到选中-在分支。


推荐阅读