持续集成(CI)

在项目开发中,多个服务之间需要依赖配合才能正常运行。在此过程中,如果其中一个服务A进行更新,需要对其他依赖A的服务也进行更新,以获得当前A的最新版本,确保项目正确的运行。

持续集成

在频繁的开发和版本迭代中,版本更新是很常见的事情,我们如果手动在每次每个服务版本更新后都手动升级那么工作量很大而且效率很差。所以我们采用一个自动化的工具来帮助我们完成多个服务间依赖的自动更新升级的工作。这样的想法叫做持续集成(Continuous Integration),简称CI。

简单的做法是每当有版本更新的时候将所有的Repositories中的服务都放在一个目录中,运行这些服务,如果都成功运行则这次更新的服务是成功的,如果其中有问题,那一定是更新的服务有问题,则这次Revision失败。

持续交付

持续交付是在持续集成的基础上,将完成CI的代码部署在类开发环境中,管理者可以将这部分代码手动部署到开发环境中,这样做的好处在于可以先观测更新的服务是否有问题,如果有问题可以在上线前进行排查。

一般的,项目中除了生产环境的服务器和测试环境的服务器仍然需求要其他的服务器做这两者中间的缓冲,我们将测试服务器上集成后的代码发布到上面,进一步通过CAT,Crane来检测是否有问题,如果在一段时间后没有问题则将其发布在生产环境中。

持续部署

持续部署在持续交付的基础上进行,持续交付中最后一步需要我们手动将其发布在生产环境中。持续部署,顾名思义,最后的发布在生产环境中的这一步也由自动化工具代替我们做了。在持续部署中,通过了集成和交付的新服务将能够自动的发布在生产环境中。

有很多持续集成的框架,例如Jenkins。

猜你喜欢

转载自blog.csdn.net/QuinnNorris/article/details/79926798