题 在Visual Studio Team Services上构建特定分支


我在VS Team Services中有一个存储库,其设置为:

-root
 |
 | -Dev (.sln)
 |
 | -Releases
     |
     | - Test (.sln)
     | - Live (.sln)

每个构建工作正常,但它拉动整个仓库,我只是想让它拉出一个特定的分支(开发,测试或实时)

所以我选择了 Solution.sln dev分支中的文件...

Screen shot of VSO


12
2018-01-09 05:20


起源


同 VSO 你的意思是 xxx.visualstudio.com 服务?只需转到'构建定义 - >编辑 - >存储库'并设置'默认分支'?? - stijn
我找不到那个选项 - MiloTheGreat
@stijn将适用于 Git,但不是 TFVC - jessehouwing


答案:


在Repository选项卡上,您可以指定工作区映射,默认映射会抓取整个存储库,不包括 $/project/drops 夹。

通过更改第一个映射到不采取 $/Project但是 $/project/dev 你将限制get操作的范围。如果您不再获得团队项目的根目录,则可以删除drop文件夹的隐藏处,否则只会引发警告:

enter image description here

接下来应该做的是,如果您将此构建设置为CI构建,则指定将在Tiggers选项卡上触发此构建的文件夹,因为,默认情况下,CI构建将触发任何更改整个团队项目。

enter image description here

为了让您将构建定义保留为模板,我建议使用 $(Build.SourcesDirectory)\MySolution.sln 代替 $/project/dev/Mysolution.sln这样,您只需要在将构建定义克隆到另一个分支根目录或将其另存为模板后更新构建定义的映射。

enter image description here


14
2018-01-09 09:22



感谢那。这真的解释了很多。 - MiloTheGreat
我想我已经找到了根本原因...我的sln文件没有被提取到构建代理。我看了VSOwork文件夹,一切都在那里,但sln文件....“无法找到路径'F:\ vsowork \ 1 \ s \ xxxxx.sln',因为它不存在。”我也尝试过你的方法,这是正确的。 - MiloTheGreat
您可以共享源代码管理资源管理器的屏幕截图,以显示dev文件夹中的文件吗?你的构建定义的映射? - jessehouwing