我已经检查了相当多的来源,但我仍然不清楚:部署到测试环境是CI的一部分,还是CI只是经常提交并且保持主线的无bug和集成?有人说这一点,有人说部署到目标环境是CI的一部分。
否则,我似乎看不到CI和持续交付之间的区别。
发布于 2016-05-10 14:03:53
持续集成可能需要也可能不需要将部署部署到测试环境。CI的要点是在软件的一个版本上运行自动化测试,以确保该版本I已经准备好部署到下一个步骤(QA、分阶段、生产或一个过程中的下一个步骤)。因此,如果软件需要测试,则部署该软件,如果不需要,则部署该软件。
总是有某种类型的测试环境,因为自动化测试必须在某些计算机上运行,但是代码可能会或不可能通过您所认为的部署到达那里。例如,如果应用程序使用的是解释语言,运行自动化测试可能只需要将源复制到测试环境并运行脚本,而不是实际部署。
自动化测试是否需要部署取决于应用程序具有何种类型的自动化测试。如果它只有单元测试,则不需要部署。如果它具有全堆栈集成测试,则可能需要部署,也可能不需要部署,这取决于集成测试框架。例如,作为Rails一部分的集成测试框架运行Rails服务器的测试特定版本,以便与测试对话,因此这些测试不需要部署。另一方面,其他框架可能不提供这种支持,因此必须将应用程序部署到测试环境中,以便提供要运行的全堆栈集成测试。或者,CI构建可能包括自动性能测试;这些测试肯定需要针对部署到测试环境的应用程序运行。
https://stackoverflow.com/questions/37138996
复制相似问题