浅谈一家全球电商在Kubernetes环境上的CI/CD落地与实践
云原生技术生态近几年狂飙猛进,现已成为互联网公司的主流服务端技术栈。公司要快速响应市场变化和需求变更,就离不开自动化流水线进行编译、打包和部署,如何基于Kubernetes落地CI/CD就是DevOps团队需要解决的首要问题之一,同时也是衡量公司DevOps能力成熟度的重要指标之一。本文主要分享iHerb在Kubernetes技术栈中CI/CD落地的情况和实施过程中的一些经验总结。 背景 本人目前就职于一家全球电商公司,公司总部设在美国, 自1997年开办公司发展到现在,已经面向包括中国在内全球170多个国家和地区开放了线上购物电商业务。 对于这样的业务体量,在国内云应用才刚起步的时候公司早以开始使用一些大型云平台诸如AWS和GCP等来部署生产环境了。 而当Kubernetes问世之后,公司就开始尝试着使用Kubernetes来部署应用,并在这几年将一些原本用VM部署的应用迁移到了Kubernetes上,以适应更快的市场变化,以及以更快的速度开辟新的市场。 对于Kubernetes的特性、优点和优势在此就不做赘述了,本文着重论要论述的是我们在Kubernetes环境上的CI/CD落地和实践。 持续集成与持续交付 首先我们来温习一下CI/CD的理念。 持续集成是一种编码理念和一系列实践,可以促使开发团队实施小的更新并经常将代码检入版本控制存储库