DevOps 是什么
DevOps 中的 Dev 指的 Development,Ops 指的是的 Operations,用一句话来说 DevOps 就是打通开发运维的壁垒,实现开发运维一体化。
从敏捷开发到 DevOps
敏捷开发 👉 持续集成 👉 持续交付 👉 持续部署 👉 DevOps
持续集成(Continuous Integration)指的是:代码集成到主干之前,必须全部通过自动化测试;只要有一个测试用例失败,就不能集成。持续集成的要实现的目标是:在保持高质量的基础上,让产品可以快速迭代。
持续交付(Continuous Delivery)指的是:开发人员频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就被发布。如果评审不通过,那么需要开发进行变更后再提交。
持续部署(Continuous Deployment)指的是:代码通过评审并发布后,自动部署,以交付使用。
DevOps 是一组完整的实践,可以自动化软件开发和 IT 团队之间的流程,以便他们可以更快、更可靠地构建、测试和发布软件。
DevOps 的技术实现
DevOps 的技术实现,需要三个方面:标准交付物、容器调度平台、DevOps 工具链。
标准交付物
容器调度平台
2014 年 Kubernetes 的出现,奠定了今天容器调度平台的事实标准的基础。
Kubernetes 架构:
DevOps 工具链
DevOps 工作流
- Kubernetes 集群:包含 Docker 和 Kubernetes。
- Gogs: 通过 Go 编写的本地代码仓库,功能与 github 类似。
- Jenkins/Jenkins Slave Pods:持续集成工具。
- Nexus :工件管理器,能够解决本地缓存构建依赖项。
- SonarQube:开源代码分析工具,它可以分析常见编程错误的源代码。