【问题标题】:It cannot be determined, which agent will be used for which build configuration in parallel Multi-config builds无法确定,哪个代理将用于并行多配置构建中的哪个构建配置
【发布时间】:2019-03-07 06:42:42
【问题描述】:

我们根据 BuildConfiguration 变量使用多重配置,并在我们的一个构建中与 Clean:false 并行运行发布和调试。 在代理队列中,我们有两个代理满足此特定构建定义的要求。

问题是无法在此构建上设置代理。

这就是为什么你不能肯定地说调试总是在代理 x 上构建并在代理 y 上发布。 如果现在一旦在代理 x 上构建发布,那么文件就在那里并且不会被删除。 如果这导致它在填充 drop 时复制了一些内容,那么“过时”的文件将在那里结束。

一个选项是 Clean:All,但我们不想错过增量模式。

这个问题有解决办法吗?

【问题讨论】:

    标签: tfs vnext multi-configuration build-management


    【解决方案1】:

    不,您的方案根本不受支持。您可以通过让一个队列/一组标签基本上拥有一组 ONE 代理来解决它,但就是这样。

    否则,您将超出范围。代理上的任务应该是独立的。 CLean all = false 应该纯粹是一种性能调整(无需编译未更改的内容等)。不应该允许后续作业引用另一个作业留下代理的状态。

    在某些情况下,我会使用自己的文件服务器作为缓冲区。鉴于我的代理在本地运行并且具有非常高的带宽连接(每台服务器 200 千兆位),我可以将编译结果移动到缓冲区文件夹并返回,而开销基本上为零(如:零感觉开销)。特别是在真正有帮助的多代理工作中(为 16 个代理下载 16 次 selenium 测试 - 不,谢谢)。

    【讨论】:

      猜你喜欢
      • 2011-06-30
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 2012-11-19
      • 2012-03-20
      相关资源
      最近更新 更多