azure-devops - 构建在管道中更改的功能分支
问题描述
我正在使用 Azure DevOps,我们更改为分支模式,它如下所示:
- 树干
- 分支机构
- 特色1
- 我的解决方案.sln
- 特色2
- 我的解决方案.sln
- 特色3
- 我的解决方案.sln
- 特色1
如果我有一个在 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 DevOps 将仅构建签入的分支,它有一个开放的用户声音。
您有一些解决方法,但在每个新分支中,您都需要做一些工作:
克隆构建定义并更改源映射,每个分支的触发器的路径过滤器。
添加一个 PowerShell 步骤/任务以通过调用get changesets Rest API 来获取最近的签入更改,然后使用Logging Commands将相关的解决方案/项目文件存储在一个变量中,然后构建这些解决方案/项目
在同一个构建定义上添加几个构建任务,每个分支一个任务,并在“控制选项”中选择“运行此任务”>“自定义条件”并输入:
and(succeeded(), eq(variables['Build.Build.SourceBranchName'], 'Feature{x}'))
,现在构建任务将只执行到选中-在分支。
推荐阅读
- c++ - 在库构造函数中解析数组 - 指针问题(C++)
- python-3.x - 如何从数据框中提取数据并将其存储在变量中
- fat-free-framework - 如何在 Fat-Free 框架中重命名后获取上传的文件名?
- html - 切换 css 在 Internet Explorer 中不起作用
- r - 向gglot添加填充颜色
- asp.net-core - 在 Asp.Net MVC Core App 中重命名身份表后无法保存用户帐户
- listlabel - 将列表和标签服务器内容从 DEV 复制到 QA 到 PROD
- tomcat - 在同一台机器上运行 Tomcat 的第二个实例时出现问题
- java - 与调用等效 JAR 相比,访问 Web 服务的成本更高
- node.js - Homebridge如何在函数中调用服务函数?