DevOps

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:开源代码分析工具,它可以分析常见编程错误的源代码。

相关链接

通过 Kubernetes 和容器实现 DevOps