CI/CD Pipeline with Docker and Jenkins
基于 Docker 与 Jenkins 的 CI/CD 管道
怎么看着看着成小说了. 囧.
本书主要介绍持续集成, 持续部署, 以及涉及到角色与集成的内容. 本书也介绍有关 SDLC (软件开发生命周期) 的局限性, 以及如何使用 Docker 与持续集成来配合解决这些问题. 同时还介绍了如何使用不同的集成规则来创建理想的持续集成管道, 例如质量管理, 测试, 应用程序代码库安全等. 本书还强调了使系统更稳定和可恢复性的重要性.
本书采用实践的方式推进. 我们使用了一个真实的应用程序来展示持续集成的流程. 同时, 本书涵盖了如何高效的编写 Dockerfile 来使应用程序容器化. 本书还介绍了持续集成中的一个重要环节, 即, 持续部署. 你可以使用本书来理解不同的机器环境, 不同的部署策略, 以及什么参数决定了环境中的部署策略等.
本书被划分为八个章节. 它们会涵盖基本的 SDLC, 持续集成, Docker 以及其核心概念, 以及持续部署. 因此, 开发者会从中学习到完整的现代 SDLC 实现的流程.
第一章. 介绍本书采用的方法与人物角色. 其角色会讨论到 SDLC 所存在的问题, 以及如何使用持续集成来解决这些问题. 当然项目细节与描述会成为它的一部分.
第二章. 将重点放在开发与运维团队的问题与对立面. 同时, 会介绍持续集成的相关概念与重要性. 本章中还会涉及到持续集成中所涉及到的集成校验.
第三章. 对比了不同的持续集成工具, 最终决定将 Jenkins 作为自动化工具来使用. 同时本章会介绍 Jenkins 的特性, 以及与其他集成工具的比较.
第四章. 演示了使用 Jenkins 来实现手动与自动的集成检查的实现. 同时介绍有关 Jenkins Pipeline 的概念, 以及如何在管道中创建集成检查 (integration checks) 的阶段.
第五章. 讨论 DevOps 的公共问题 "环境不一致". 我们会讨论克服环境不一致问题的可能方案. 以及使用 Docker 与容器化可以解决所有的这些问题. 我们还会讨论 Docker 及其组件.
第六章. 展示如何将已存在的持续集成管道修改成集成校验 (integration checks), 然后将其关联到 Docker 的阶段中. 然后解释在现有系统中引入 Docker 的优点与好处.
第七章. 解释持续部署, 持续交付中的角色. 以及在成功进行持续集成步骤后他的重要性. 我们还会讨论比较不同的部署策略, 同时介绍如何根据你所处环境选择合适的设计.
第八章. 展示在不同环境下, 不同部署策略的实现. 最后讨论硬件环境的组织, 以及其目标.
书本封面