内容简介
第1章 DevOps
1.1 DevOps简介
1.1.1软件开发模型
1.1.2 DevOps发展历史
1.1.3 DevOps循环
1.1.4 DevOps价值
1.2 DevOps与团队文化
1.3 DevOps工具链
1.4 DevOps转型
1.5本章小结
第2章 CI/CD
2.1 CI/CD介绍
2.1.1持续集成
2.1.2持续交付
2.1.3持续部署
2.1.4 CI/CD工作流
2.2 OpenStack CI/CD
2.2.1当前CI/CD系统的形态
2.2.2 OpenStack CI/CD架构
2.2.3 CI/CD系统工作流程
2.3本章小结
第3章 版本控制(Git)与代码评审(Gerrit)
3.1版本控制系统(Git)
3.1.1 Git仓库(repository)
3.1.2 Git分支(branch)
3.1.3 Git提交(commit)
3.1.4 Git标签(tag)
3.1.5 Git引用(refs)
3.2代码评审工具(Gerrit)
3.2.1架构
3.2.2安装
3.2.3项目配置
3.2.4 CI/CD系统对接
3.3本章小结
第4章 持续集成系统(Jenkins)
4.1 Jenkins介绍
4.1.1 Jenkins是什么
4.1.2 Jenkins工作原理
4.1.3部署Jenkins
4.1.4插件管理
4.1.5安全管理
4.1.6创建Slave
4.1.7创建Job
4.2 Jenkins Job Builder
4.2.1安装JJB
4.2.2配置JJB
4.2.3使用JJB
4.2.4 JJB语法详解
4.3 Python Jenkins
4.3.1安装python-jenkins
4.3.2使用python-jenkins
4.4本章小结
第5章 门控系统(Zuul)
5.1 Zuul组件介绍
5.1.1 Zuul工作原理
5.1.2 Zuul Server
5.1.3 Zuul Merger
5.1.4 Zuul Cloner
5.1.5 Zuul客户端
5.2 pipeline
5.2.1并行测试
5.2.2跨项目测试
5.2.3跨项目依赖
5.3连接器
5.3.1 Gerrit
5.3.2 SMTP
5.4触发器
5.4.1 Gerrit
5.4.2 Timer
5.4.3 Zuul内部事件
5.5报告器
5.5.1 Gerrit
5.5.2 SMTP
5.6配置指导
5.6.1 pipeline
5.6.2 Jobs
5.6.3 Projects
5.6.4 Project Templates
5.7本章小结
第6章 资源管理系统(Nodepool)
6.1 Nodepool简介
6.1.1 Nodepool引入的背景
6.1.2 Nodepool的功能
6.2安装Nodepool
6.2.1准备外部依赖服务
6.2.2安装Nodepool
6.3 Nodepool的设计原理
6.3.1资源管理(Nodepoold)
6.3.2镜像管理(Nodepool-builder)
6.3.3客户端(Nodepool Client)
6.4配置Nodepool
6.4.1云相关配置
6.4.2 Jenkins相关配置
6.4.3镜像配置(diskimages)
6.4.4其他配置
6.5镜像管理系统
6.5.1 DIB介绍
6.5.2 DIB原理
6.5.3定制镜像
6.6本章小结
第7章 日志服务器
7.1日志服务器的作用
7.2安装和验证
7.3使用方法
7.3.1在Jenkins中使用日志服务器
7.3.2如何获取日志文件
7.3.3日志文件定期归档和清理
7.4本章小结
第8章 日志分析系统
8.1 ELK Stack概况
8.2日志分析系统架构
8.3 Log Pusher
8.3.1处理流程
8.3.2配置
8.4 Logstash Indexer
8.4.1 hello world
8.4.2 Logstash管道
8.4.3管道配置
8.4.4管道配置实例
8.5 Elasticsearch
8.5.1面向文档的数据库
8.5.2索引、检索和搜索
8.5.3节点和集群
8.5.4索引分片和索引副本
8.5.5分布式特性
8.5.6配置Elasticsearch
8.6 Kibana
8.6.1让Kibana连接到Elasticsearch
8.6.2 Index Pattern
8.7部署
8.8本章小结
第9章 公共组件详解
9.1任务分发系统(Gearman)
9.1.1 Gearman介绍
9.1.2 Gearman架构和工作原理
9.1.3安装
9.1.4利用Gearman实现Jenkins的HA
9.2消息队列(ZeroMQ)
9.2.1 ZeroMQ介绍
9.2.2 ZeroMQ的特点
9.2.3 ZeroMQ的工作模式
9.2.4安装
9.2.5应用示例
9.2.6 ZeroMQ在OpenStack CI/CD系统中的作用
9.3分布式协调服务(ZooKeeper)
9.3.1 ZooKeeper介绍
9.3.2 ZooKeeper架构和工作原理
9.3.3 ZooKeeper的安装和配置
9.3.4 ZooKeeper典型应用
9.3.5 Nodepool中使用ZooKeeper示例
9.4本章小结
第10章 社区CI/CD实践
10.1 Puppet简介
10.1.1概述
10.1.2基础架构
10.2单机部署
10.2.1前期准备
10.2.2安装部署
10.3多节点部署
10.3.1IaC
10.3.2配置
10.3.3自动化部署
10.4使用CI/CD
10.4.1新增项目
10.4.2提交变更
10.4.3定制优化
10.5 CI/CD还需要考虑的问题
10.6本章小结
第11章 演进
11.1存在的问题
11.1.1耦合
11.1.2 Zuul
11.1.3 Jenkins
11.1.4 Nodepool
11.2演进
11.2.1架构
11.2.2 Zuul V3
11.2.3 Nodepool V3
11.3 CI/CD发展
11.4本章小结