我们使用TFS2010持续集成自动化构建,每次签入时都会启动。我最近更改了流程模板,以便在不同的构建代理上并行构建调试和发布,而不是在同一代理上顺序构建。
从那时起,由于以下错误,我们不断看到构建失败。它经常发生,以至于它是不可接受的(大约每5-10个版本)。
"TF203059:标签已存在。请使用其他标签名称重试该命令。“
我还没能找出导致这种情况发生的特定模式。以前有没有人遇到过这个问题?在构建过程中是否应该对Create Label活动进行更改?
发布于 2012-04-05 22:26:28
并行化可能会带来一些问题。标签是一个,修改工作项是第二个。可能还有更多,但这就是我所遇到的。如果你把它们都移到单线程部分,它应该可以解决你的问题。然而,这往往伴随着它自己的一系列问题。IIRC,标记要求您在标记之前映射工作空间并获取最新版本,因此,如果您有大量文件,这可以降低并行化带来的性能优势。对于工作项,问题的发生可能是因为一个进程在另一个分支读取工作项之后对其进行了修改,而TFS认为工作项已更改,因此无法更新。
发布于 2014-01-18 14:22:34
在配置"Debug“和"Release”的并行构建的情况下。它试图将相同的标签放两次,因此可能会产生问题。具体地说,我们只需要提供一次标签。因此,在这种情况下,为了避免这样的问题,我们可以为任一配置设置一个条件,以放置标签,并跳过为第二个配置提供标签。
使用此if条件:
if (configuration= "Release“) Then (CreateLabel)否则,您必须为调试保留此字段为空,因为我们已经为”Release“条件提供了一次标签
通过这种方式,我解决了与重复标签相关的问题。
"TF203059:标签已存在。请使用不同的标签名称“”重试该命令
我希望它也能很好地为你的并行构建工作。
https://stackoverflow.com/questions/9898355
复制相似问题