我有一个xaml构建定义,其触发器设置为每晚运行,并且未选中“如果没有任何更改,则构建”。如果我在一天中运行构建,然后在一天的剩余时间内没有人签入,由于某种原因,TFS会在触发器的时间构建相同的变更集。对于不同的分支,几种不同的构建定义似乎正在发生这种情况。有没有办法说明为什么要建造?几个月前,我已将TFS服务器更新为当前版本(Tfs2017.Update3),老实说,自从去年某个时候更新到TFS 2017以来,我没有检查或注意到这是否正在发生。是否有任何TFS数据库表要检查以查看是什么触发了构建?
答案 0 :(得分:0)
确保将任何其他构建定义(即CI(在签入时构建))的工作区部分设置为该构建应从中获取文件的特定文件夹。缺省值为$ / projectname,它是在项目中任何位置的任何文件更改时都可以构建的开始位置。使用CI时,需要使工作区部分非常具体,否则会产生意想不到的后果。
答案 1 :(得分:-1)
如果此版本是由另一个版本驱动的,则数据库中具有triggerInfo和triggerByBuild字段,以获取有关触发器的更多信息。
查询: 选择* FROM [Tfs_collection名称]。[内部版本]。[tbl_内部版本]其中BuildId =内部版本ID
此外,如果您已映射其他tfvc路径以及是否更改了触发构建的路径,则可能还要仔细检查源映射。