待更-CICD-持续部署_持续集成_持续交付

目前有这么个问题

比如目前要开发一个订单管理系统,包含三个模块,商品模块,订单模块,退款模块

 

传统的做法(手动部署):

1、产品经理把需要做的功能,整理成一份文档,传递给开发人员

2、每个开发人员开始写代码,开发各自把自己负责的模块开发完,提交到svn代码库上

3、运维人员从svn上检出源码,进行打包和环境部署(比如JAVA程序部署到Tomcat上)。

4、测试人员在运维人员部署后开始介入测试。

 

此时,测试人员在测试过程中发现系统有Bug,开发需要再次修改代码,然后把上面的步骤全部都走一遍。如果有100个Bug,那么有可能这个过程要返工100遍。所以运维人员每天的工作就是不断地检出,打包,部署......重复着很枯燥的活。

👇手动部署的流程

 

 

引进CICD--->>持续部署_持续集成_持续交付

每天都做这种无聊的工作,运维人员小C不乐意了,心想,有没有一种办法,去监控开发提交代码的动作,只要开发提交代码到svn(代码库),就触发这个项目自动构建并重新部署,而不用我每次去手动部署。

基于上面这个想法,持续部署 (Continuous Deployment) 的概念就出来了,持续部署就是干运维人员小C所想的事情。

单个模块可以自动部署,如果后面开发新增了新的功能模块,周一开发小张新增了模块A,周二开发小明新增了模块B,每天都进行n次自动部署,也同时进行了系统集成,所以持续集成(Continuous Integration)的概念也随之产生。

如果可以持续部署,那么只要开发修改并提交一次代码,就会自动构建并部署一个新版本,就可以持续优化功能,交付给测试人员测试了,每天可以自动构建N次,这时候持续交付(Continuous Delivery)也随之出来了。

 

下面是自动部署的流程,也是CICD的流程

 

 

下面以一个实战的项目,来演示自动部署的过程。

使用到的工具:

SVN+Jenkins+Maven+Tomcat

posted @ 2020-09-10 22:06  双木玥  阅读(380)  评论(0编辑  收藏  举报