Tfs 只有在另一个构建没有失败时,Team Foundation服务器调度触发器才会触发

Tfs 只有在另一个构建没有失败时,Team Foundation服务器调度触发器才会触发,tfs,tfsbuild,Tfs,Tfsbuild,目前我有一个金丝雀构建,它构建代码并运行测试,但不“发布”任何内容。这只是确保签入不会破坏构建的一种方法 我有第二个构建,它是构建和发布的“发布”构建(此时它不做测试,因为它假设金丝雀构建验证了测试)。如果队列中有变更集,则此发布生成每晚运行。但是如果最后一个金丝雀版本也坏了,我想阻止发布版本运行。我该怎么做 发布版本: 安排在凌晨1点建造并运行: a。如果队列中存在变更集,并且 b。如果最后一次金丝雀建造成功 您是否考虑过将“金丝雀”构建更改为门控签入,这将阻止任何代码进入代码库,除非构建成功

目前我有一个金丝雀构建,它构建代码并运行测试,但不“发布”任何内容。这只是确保签入不会破坏构建的一种方法

我有第二个构建,它是构建和发布的“发布”构建(此时它不做测试,因为它假设金丝雀构建验证了测试)。如果队列中有变更集,则此发布生成每晚运行。但是如果最后一个金丝雀版本也坏了,我想阻止发布版本运行。我该怎么做

发布版本:

  • 安排在凌晨1点建造并运行:

    a。如果队列中存在变更集,并且

    b。如果最后一次金丝雀建造成功


  • 您是否考虑过将“金丝雀”构建更改为门控签入,这将阻止任何代码进入代码库,除非构建成功


    然后,将您的夜间构建设置为一个计划(我想您已经有了),但只需取消选中“即使没有任何更改也要构建”

    除非您创建这样的自定义模板,否则无法在默认流程模板中检查另一个构建是否失败

    为什么不在发布构建中包含单元测试,不管更改集有多大,我猜单元测试将运行一次,并且不会花费更多的时间。所以你可以改变流量

    发布版本:

    安排在凌晨1点建造并运行:

    a。如果队列中存在变更集,并且


    b。如果构建成功且单元测试通过。

    构建过程是否太耗时?如果不是,为什么不在发布之前进行构建?您不必检查CI生成输出吗


    这很简单,您不需要任何额外的努力:)

    我将尝试这个,这将是理想的,既可以解决我的问题,也可以简单明了地防止破坏代码进入构建。我还没有完成将TeamCity构建过程转换为TFS的工作,因此我不确定产品构建需要多长时间。我希望金丝雀构建尽可能快地运行,这样它就会很快失败。金丝雀现在需要10分钟。我想10分钟足够快了。在这种情况下,我认为最好在发布之前进行构建:),这样就不必编写代码来检查金丝雀构建的状态。在我看来,这将是最简单和最高效的。我的Prod build在发布之前进行构建。但我不想每次有人登录时都发布。金丝雀构建在每次签入后构建,并确认您没有破坏构建。我现在要接受@pm_2的建议。