部署到测试环境是持续集成的一部分吗?

时间:2016-05-10 12:46:03

标签: deployment continuous-integration agile continuous-delivery

我已经检查了很多来源,但我仍然不清楚:部署到CI的测试环境部分,还是CI只是经常提交并保持主线无错误和集成?有人说这个,有人说部署到目标环境是CI的一部分。

否则我似乎没有看到CI和Continous Delivery之间的区别。

1 个答案:

答案 0 :(得分:1)

持续集成可能需要也可能不需要您考虑部署到测试环境。 CI的主要观点是在软件版本上运行自动化测试,以确保该版本已准备好部署到下一步(质量保证,升级,生产或其他任何一个步骤#) 39; s过程是)。因此,如果需要测试软件,则部署软件,而不是软件。

总有一种测试环境,因为自动化测试必须在某些计算机上运行,​​但代码可能会或可能不会通过您考虑部署的内容实现。例如,如果应用程序是解释语言,那么运行自动化测试可能只需要将源复制到测试环境并运行脚本,而不是实际部署。

自动化测试是否需要部署取决于应用程序具有哪种自动化测试。如果它只有单元测试,则不需要部署。如果它具有全栈集成测试,则根据集成测试框架,可能需要也可能不需要部署。例如,作为Rails一部分的集成测试框架运行Rails服务器的测试特定版本以供测试进行通信,因此这些测试不需要部署。另一方面,其他框架可能不提供该支持,因此必须将应用程序部署到测试环境以提供针对其运行的全栈集成测试。或者CI构建可能包括自动化性能测试;那些肯定需要针对部署到测试环境的应用程序运行。