1

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

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

发布构建:

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

    一个。如果队列中有变更集并且

    湾。如果最后一次 Canary 构建成功。

4

3 回答 3

3

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

然后,将你的每晚构建设置为一个时间表(我想你已经有了),但只需取消选中“即使没有任何改变也构建”

于 2013-09-05T08:20:17.143 回答
0

除非您创建像这样的自定义模板http://blog.stangroome.com/2011/09/06/queue-another-team-build-when-否则无法在默认流程模板中检查另一个构建是否失败一队建设成功/

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

发布构建:

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

一个。如果队列中有变更集并且

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

于 2013-09-06T05:21:31.163 回答
0

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

这很容易,你不需要任何额外的努力:)

于 2013-09-06T15:59:54.363 回答