我们在Teamcity中使用相当标准的CI部署管道来打包我们的应用程序。我们从以下管道开始。下面的每个步骤都代表构建必须通过的门,以便前进到下一步:
在项目开始阶段,当前端测试套件较小且相对较快(<2分钟)时,这项工作正常。然而,随着套房的大小和长度的增长(15:00分钟和不断增长),在每次办理登机手续时将其解雇都很快变得难以理解。我们已经从我们的主要管道中删除了套件,并且每天在一个独立的管道上启动它四次:
这种方法的问题很明显,因为即使它在前端测试套件中引起了回归,构建很可能会一直进入包阶段。我想如果前端测试套件出现故障,我可以使已经创建的软件包无效,但这看起来很笨拙。我们已经考虑进一步优化测试套件,但我认为这是一个死胡同,除非我们可以并行运行测试,这是TeamCity不支持的。
建议/批评欢迎。
答案 0 :(得分:0)
不确定您在这里工作的开发平台,但我看到两个常规选项。
您的目标应该是通过UI直接减少测试的数量。看看如何更加强调在堆栈中进一步测试代码可以减少直接的UI测试负担。在最近的一个项目中,我们在我们的应用程序中重构了javascript以使其可测试。这些运行速度更快的测试意味着我们可以删除大量运行较慢的webdriver测试。它在时间和精力上有点投入,但它比你现在的情况造成的痛苦要少得多。
应该尽可能避免计划的构建,因为就像你提到的那样,你最终可能会遇到捆绑缺陷的打包软件,而且反馈时间会大量增加。