构建管道中发生变化的特性分支
Build Feature Branch That Changed in Pipeline
我正在使用 Azure DevOps,我们更改为分支模式,如下所示:
- 中继线
- 分支机构
- 特征1
- MySolution.sln
- 特征2
- MySolution.sln
- 特点3
- MySolution.sln
如果我有一个在 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。
您有一些解决方法,但在每个新分支中您都需要做一些工作:
克隆构建定义并更改源映射、每个分支的触发器路径过滤器。
通过调用 get changesets Rest API, then store the related solution/project files in a variable by using Logging Commands 添加 PowerShell step/task 以获取最近的签入更改,然后构建这些 solutions/projects
在相同的构建定义上添加几个构建任务,每个分支一个任务,然后在 "Control Options" 中选择 "Run this task" > "Custom condition" 并输入:
and(succeeded(), eq(variables['Build.Build.SourceBranchName'], 'Feature{x}'))
,现在build tass只会执行到checked-in的分支。
我正在使用 Azure DevOps,我们更改为分支模式,如下所示:
- 中继线
- 分支机构
- 特征1
- MySolution.sln
- 特征2
- MySolution.sln
- 特点3
- MySolution.sln
- 特征1
如果我有一个在 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。
您有一些解决方法,但在每个新分支中您都需要做一些工作:
克隆构建定义并更改源映射、每个分支的触发器路径过滤器。
通过调用 get changesets Rest API, then store the related solution/project files in a variable by using Logging Commands 添加 PowerShell step/task 以获取最近的签入更改,然后构建这些 solutions/projects
在相同的构建定义上添加几个构建任务,每个分支一个任务,然后在 "Control Options" 中选择 "Run this task" > "Custom condition" 并输入:
and(succeeded(), eq(variables['Build.Build.SourceBranchName'], 'Feature{x}'))
,现在build tass只会执行到checked-in的分支。