3
我想解决一个有效的设置,以确保编译和部署构建优先于运行测试。我有包含两个构建配置单一药剂:是否可以限制某些构建配置的构建队列?
- 构建,部署高电平测试(5分钟)
- 单元测试,集成测试,烟雾测试(15分钟)
我有配置触发器以便每次在VCS中发生提交时都会运行构建项目。我想要做的就是排队测试项目以低优先级运行。但是,如果在短时间(几分钟)内完成多个提交,现在我想排队进行大量测试项目。
例如,这是我想达到的目标:
- 12:00提交
- 12:02提交
- 日12:08提交
构建/部署配置拉开:
- 12:00(eta 5分钟)
- 12:05(ETA 5分钟)
- 12:10(ETA 5分钟)
测试项目在拉开序幕:
- 12:15(ETA 15分钟)
测试项目只运行一次最新的部署代码。我不想排队测试项目3次。
实际上,我只想运行测试项目,当代理空闲并且未经测试的更改已被提交时。这可能吗?如果是的话,实现它的最好方法是什么?
感谢您花时间回答。安静期模式允许我在开始构建之前等待x分钟,但是实际上并不妨碍将多个构建添加到队列中? – psych
如果你看看我上面的例子,5分钟的安静时间不会导致在12:07添加测试项目,然后在12:13再次添加测试项目。由于构建优先级,测试不会运行到第三次部署(正确)之后,但是它们会在完全相同的部署上运行两次?即使代理处于空闲状态,较大的安静时间也会导致测试运行频率降低。理想情况下,我只想说'构建队列为空时,如果有任何未经测试的更改运行测试'。我不确定这是否可能。 – psych
如果您禁用'在每个签入时触发构建'并为非测试配置设置较高优先级,则测试构建将保持队列,堆栈更改并等待,直到代理将空闲。 –