建立在管道中更改的功能分支

时间:2018-10-17 16:26:15

标签: azure-devops branch tfvc

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

  • 后备箱
  • 分支机构
    • 功能1
      • MySolution.sln
    • 功能2
      • MySolution.sln
    • 功能3
      • MySolution.sln

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

对于构建的获取资源部分,我的服务器路径为 $ /我的团队项目名称/分支。关于如何实现此目标的任何想法?

更新:我正在使用TFSVC,并且按照此链接中的说明进行操作(与TFSVC一样适用):

here

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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

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

  3. 在相同的构建定义上添加几个构建任务,每个分支都有一个任务,然后在“控制选项”中选择“运行此任务”>“自定义条件”,并将其放入: and(succeeded(), eq(variables['Build.Build.SourceBranchName'], 'Feature{x}')),现在将仅在签入的分支上执行构建tass。