目前我有一个构建代码并运行测试的canary构建,但不会“发布”任何内容。这只是一种确保签入不会破坏构建的方法。
我有第二个版本,它是构建和发布的“Publish”构建(此时它不执行测试,因为它假定canary构建了经过验证的测试)。如果队列中存在更改集,则此发布版本每晚运行。但是如果最后一个canary构建也破坏了,我想阻止发布版本运行。我怎么能这样做?
发布构建:
在凌晨1点安排构建并运行:
一个。如果队列中有变更集AND
湾如果最后一个Canary构建成功。
答案 0 :(得分:3)
您是否考虑过将“canary”构建更改为封闭式签入,这将阻止任何代码进入代码库,除非构建成功。
然后,将您的每晚构建设置为一个时间表(我想您已经拥有),但只需取消选中“即使没有任何更改也可以构建”
答案 1 :(得分:0)
除非您创建像这样的自定义模板http://blog.stangroome.com/2011/09/06/queue-another-team-build-when-one-team-build-succeeds/
,否则无法在默认流程模板中检查其他构建是否失败为什么不在发布版本中包含单元测试,更改集的大小我认为单元测试将运行一次,我想它不会花费更多时间。所以你可以改变流程
发布构建:
在凌晨1点安排构建并运行:
一个。如果队列中有变更集AND
湾如果构建成功并且单元测试通过。
答案 2 :(得分:0)
您的构建过程是否过于耗时?如果不是为什么不在发布之前做一个构建?你有没有检查CI构建输出?
这很容易,你不需要任何额外的努力:)