我们使用TFS 2010持续集成自动化构建,在每次签入时启动.我最近更改了流程模板,以便在不同的构建代理上并行构建Debug和Release,而不是在同一代理上顺序构建.
从那时起,我们就会因为以下错误而意外地看到构建失败.它经常发生,这是不可接受的(每5至10次建造左右).
"TF203059:标签已存在.请使用其他标签名称重试该命令"
我无法弄清楚导致这种情况发生的具体模式.有没有人遇到过这个?是否应该在构建过程中对"创建标签"活动进行更改?
并行化可能会带来一些问题。标签是其一,修改工作项是其二。可能还有更多,但这就是我遇到的。如果您将两者都移至单螺纹部分,它应该可以解决您的问题。然而,这往往会带来一系列问题。IIRC,标记要求您映射工作空间并在标记之前获取最新信息,因此如果您有大量文件,这可能会削弱并行化的任何性能优势。对于工作项,可能会出现问题,因为一个进程在另一个分支读取工作项后修改了该工作项,并且 TFS 认为它已更改,因此无法更新。