目前的研发和运维经常会遇到下面的问题:
1.开发、测试及生产环境不一致;
环境搭建及部署步骤繁琐,而交付给测试人员的时候不是整个产品,而只是项目代码,这样就导致开发环境(开发联调环境)与测试环境极大可能不一致,从而影响测试的准确性和解决BUG的时间(因为要分析BUG是否因为环境导致的);
2. 申请测试资源比较麻烦;
3. 测试需要一个非常干净的环境来进行测试,以免造成测试不准确的结果;
4.业务无法敏捷
在发布产品的时候,发布周期太长
5.无法应对频繁的发布
引入docker以后,带来的影响:
1.开发只需要关注编写代码并提交到版本库,通过持续集成平台自动自动生成一个镜像,将镜像通过一条命令生成容器,整个容器是干净的,它包含项目代码和可运行的环境,这样开发人员对其进行冒烟测试,测试通过后直接将镜像交付给测试团队进行测试,这样,开发联调环境和测试环境几乎是完全一致的,这样测试出来的结果就更加贴近实际情况,并且测试通过后可以给镜像打TAG,通知运维那边可以部署了,从而保证了测试环境和生产环境的一致性。
(当然整个流程都可以通过持续集成实现自动化流程,整个过程无需人为参与,比较理想主义,目前google就是这种研发模式)
2.Docker相比虚拟机来说更轻量级,消耗的资源是非常小的,我们可以在自己的笔记本上安装Docker环境,可以把registry库中交付的镜像pull下来运行一个Docker容器进行测试,多人测试的话每个人这样做就都会有自己的一套测试环境,给测试工作带来的便利。
总结:
有了Docker加自动化平台,我们你指需要开发那边把代码提交上去,我们就可以通过自动化平台自动去生成Docker镜像,然后测试,然后部署到生产环境--------------------是不是很方便,很快捷
版权声明:本文为博主原创文章,未经博主允许不得转载。