【问题标题】:TFS 2010 Multiple build Agent User ManagementTFS 2010 多构建代理用户管理
【发布时间】:2010-09-01 19:27:44
【问题描述】:

对于具有 2 个构建代理的 Windows 2008 服务器,即构建服务器 (TFS 2010),如何配置这些使用相同帐户的代理以使用多个工作区(或阻止它使用多个工作区) 具有相同的路径?

目前,我看到的行为是 IT 正在使用相同的用户和相同的路径创建多个工作区。我必须手动删除重复的工作区。几次构建尝试后,自动创建了更多工作区,然后由于多个工作区具有相同的路径而无法构建。同样,这是自动发生的,并且必须每 10 分钟左右手动删除工作区,这不是一个答案。

谢谢。

编辑:卸载并重新安装了 TFS Build Agent,这解决了问题。

【问题讨论】:

    标签: tfs tfsbuild tfs-2010


    【解决方案1】:

    (我不完全确定这是否能回答问题,但是...)IIRC 您可以为每个构建代理配置根工作文件夹。然后他们就可以在自己的工作空间中并肩工作,而不会发生任何冲突。

    【讨论】:

    • 上述方法破坏了我的参考路径,除非我将它们设为静态(无模板),而且这也不能解决多工作区问题。 2 个代理 3+ 个工作区(我不知道为什么它一直在创建这些)
    • @user264892:我强烈建议对所有引用使用相对路径——绝对路径是一个杀手。您在某些时候遇到绝对路径的主要问题,并且您离开它的时间越长,要解决的问题就越大。对我来说它工作得很好,所以我不在乎它使用了多少工作空间。使用 3 个工作区是否重要?通常,如果我发现自己为了自己的方式而奋斗,我最终会发现我做错了什么。
    • 嗯,它使用 3 个工作区确实很重要。这就是 TFS 给我的错误。 TFS 使用相同的路径创建多个工作区。同样,这是自动创建。我没有告诉它继续在我的构建服务器上为每个代理创建 3 个(现在是 5 个)工作区。路径不是相对的,但似乎通过模板解析到相同的路径,然后我的构建失败,因为我的构建器用户现在创建了 3+ 个相同的工作区。我可以阻止 TFS 自动创建工作区吗???
    • 如果您将代理设置为使用不同的根文件夹,并将您的引用更改为相对,则工作空间不会发生冲突。如果它正在创建工作区来尝试解决冲突,我不会感到惊讶(“我不能使用那个工作区,它坏了,所以我会创建一个新的。该死的它在同一个地方......”)。
    • 为什么它会尝试通过创建更多工作空间来“解决”硬编码引用?这目前导致我的构建失败,而不是引用。我能够成功构建项目,直到它创建另一个工作区。然后它抛出多个工作区的错误。我同意当我合并/分支时这将是问题,但如果我无法构建,那么 m/b 是无用的。我可以切断“自动创建工作区”吗?请注意,我已经厌倦了只启用 1 个代理,但它仍然会创建额外的工作区。
    【解决方案2】:

    您的每个构建代理都应该使用自己的工作目录。我在构建服务器上有多个构建代理,并且在设置后,我对工作空间没有任何问题。

    构建代理的默认工作目录类似于:

    $(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)
    

    所以应该有基于$(BuildAgentId)的不同文件夹。

    【讨论】:

    • 尝试此方法无法解析引用。因为项目本身正在寻找“C:\Assembles”作为参考,现在它们位于 $(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)\Assemblies。 2 小时谷歌没有解决解决该问题。
    • 对于您的构建定义,在“工作区”选项卡下,您是否引用了解决方案所需的所有库的位置?
    • 将“C:\”简单地更改为“..\..\”(或使路径相对所需的任何内容)将使您的问题消失。如果你不这样做,如果你尝试分支,你将陷入痛苦的世界,决定你需要在你的机器上复制 2 个代码副本(例如,在追逐一个棘手的错误时比较构建之前和之后),或者只是发现你真的需要将代码移动到 D: 或 E: 驱动器(例如,在我以前的公司中,IT 部门给了我们 9GB C: 分区。这太疯狂了,但我们的代码必须在 D: 上继续)......你不能谷歌解决您的问题,因为每个人都使用相对路径。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 2011-12-16
    • 2011-02-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多