构建管道中发生变化的特性分支

Build Feature Branch That Changed in Pipeline

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

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

对于构建的 Get sources 部分,我的服务器路径为 $/My Team Project Name/Branches .关于如何完成此操作的任何想法?

更新: 我正在使用 TFSVC,并且我遵循了 link:

中的说明(尽可能适用于 TFSVC)

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

将构建步骤从 **\*.sln 更改为特定分支,或将工作区映射更改为仅限于要构建的分支。

无法将构建任务配置为全部构建,Azure DevOps 将仅构建签入的分支,它有一个开放的 User voice

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

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

  2. 通过调用 get changesets Rest API, then store the related solution/project files in a variable by using Logging Commands 添加 PowerShell step/task 以获取最近的签入更改,然后构建这些 solutions/projects

  3. 在相同的构建定义上添加几个构建任务,每个分支一个任务,然后在 "Control Options" 中选择 "Run this task" > "Custom condition" 并输入: and(succeeded(), eq(variables['Build.Build.SourceBranchName'], 'Feature{x}')),现在build tass只会执行到checked-in的分支。