使用一个构建任务来构建在源文件夹中签入的任何分支

时间:2017-03-10 08:42:27

标签: azure-devops tfsbuild azure-pipelines azure-pipelines-build-task

我目前为我的项目Main和Dev开发了两个构建脚本。发布从Main完成,所有开发工作都检查到Dev。

理想情况下,我希望Dev成为一个包含任意数量分支的文件夹。因为可以随意创建和删除分支,所以我想修改现有的构建脚本以查找任何分支更改并构建它,但我不确定如何。

触发器

当前我的触发器设置为Include$/MyCompany/Dev。 如果我将Dev更改为文件夹并在其中包含分支,则应触发该文件夹下的每个分支检查,很棒...但是......如何修改构建任务以仅构建分支改变了吗?它还会拉下该文件夹下的每个分支吗?这会大大减慢构建速度。

构建任务

Solution**\*.sln

我应该将其更改为什么,以便它只构建更改的分支?

注意 我打算有3个构建配置。一个用于发布[来自Main],一个用于Beta [来自Dev]和一个Alpha发布来自功能分支。

修改

我发现你可以使用$(Build.SourceBranch),它在构建时看起来很有用,但在获取资源时它似乎不起作用?

2 个答案:

答案 0 :(得分:2)

正如丹尼尔所说,你不能做你想用TFVC做的事情,git是更好的方法。

另一方面,如果您手动触发构建,则可以参考这些步骤来构建特定分支。

  1. 修改您的构建定义
  2. 添加变量(例如BranchToBuild)并选中“在队列时间允许”
  3. 更改存储库映射,如$ / MyCompany / $(BranchToBuild)
  4. 队列构建并指定BranchToBuild变量的值。
  5. 关于您的方案(CI构建),您可以对步骤/任务进行分组,然后为每个分支创建具有该任务组的多个构建定义。

    任务组的更多信息,您可以参考Task Groups

答案 1 :(得分:1)

你不能做你想用TFVC做的事情。 Git支持你想要实现的场景。