科技
类型
可以朗读
语音朗读
155千字
字数
2022-05-01
发行日期
展开全部
主编推荐语
通过本书了解CI/CD的概念,并获得使用CI生态系统中重要工具的实践经验。
内容简介
本书是一本持续集成与持续交付(CI/CD)实践指南,全书共15章。
书中首先介绍持续集成和持续交付的基础知识,并介绍Jenkins用户界面及其安装方式;接下来介绍使用Jenkins UI开发插件、构建Jenkins流水线和运行Docker集成的实际操作;后介绍Travis CI和CircleCI的安装及脚本运行等,帮助读者通过Travis CI和CircleCI获得有关CI/CD的广泛知识。
本书适合系统管理员、DevOps工程师以及构建和发布工程师阅读。
目录
- 版权信息
- 版权声明
- 内容提要
- 前言
- 作者简介
- 审稿人简介
- 资源与支持
- 第1章 具有自动测试功能的CI/CD
- 1.1 业务场景
- 1.1.1 手动流程——讨论一种假设场景
- 1.1.2 雇员的困境
- 1.1.3 引入自动化
- 1.1.4 开发人员生产力
- 1.1.5 打破沟通障碍
- 1.1.6 创造合作环境
- 1.2 小结
- 1.3 问题
- 第2章 持续集成基础
- 2.1 技术要求
- 2.2 什么是持续集成
- 2.2.1 什么是软件构建
- 2.2.2 持续集成流程步骤概述
- 2.2.3 持续集成的价值
- 2.2.4 利用持续集成降低风险
- 2.2.5 源码签入时的软件构建
- 2.2.6 小型构建和大型构建故障
- 2.2.7 CI构建实践
- 2.3 小结
- 2.4 问题
- 第3章 持续交付基础
- 3.1 技术要求
- 3.2 软件交付问题
- 3.2.1 软件交付的含义
- 3.2.2 常见的版本发布反模式
- 3.2.3 如何进行软件发布
- 3.2.4 软件交付自动化的好处
- 3.3 配置管理
- 3.3.1 配置管理的含义
- 3.3.2 版本控制
- 3.3.3 依赖管理
- 3.3.4 软件配置管理
- 3.3.5 环境管理
- 3.4 部署流水线
- 3.4.1 什么是部署流水线
- 3.4.2 部署流水线实践
- 3.4.3 测试门
- 3.4.4 发布准备
- 3.5 部署脚本编写
- 3.5.1 构建工具概述
- 3.5.2 部署脚本编写概念
- 3.5.3 部署脚本编写最佳实践
- 3.6 部署生态系统
- 3.6.1 基础设施工具
- 3.6.2 云提供商和工具
- 3.7 小结
- 3.8 问题
- 第4章 CI/CD的业务价值
- 4.1 技术要求
- 4.2 沟通问题
- 4.2.1 需求传达不当
- 4.2.2 缺乏适当的文档
- 4.2.3 时区差异
- 4.2.4 缺乏信任和相互尊重
- 4.2.5 文化差异和语言障碍
- 4.2.6 反馈周期长
- 4.3 与团队成员沟通痛点
- 4.3.1 等待需求信息
- 4.3.2 部署流水线中未记录的步骤
- 4.3.3 王国钥匙的持有者过多
- 4.3.4 沟通渠道过多
- 4.3.5 疼痛驱动开发
- 4.4 不同团队间分担责任
- 4.4.1 轮换团队成员
- 4.4.2 寻求有关开发实践的反馈
- 4.4.3 建立跨职能团队
- 4.5 了解利益相关者
- 4.5.1 项目经理
- 4.5.2 行政领导团队
- 4.5.3 终端用户
- 4.6 证明CI/CD的重要性
- 4.6.1 指标和报告
- 4.6.2 帮助领导者了解自动化的重要性
- 4.7 获得利益相关者对CI/CD的批准
- 4.7.1 开始一个臭鼬工厂项目
- 4.7.2 在本地计算机上启动CI/CD
- 4.7.3 公司内部展示
- 4.7.4 午餐交流会
- 4.8 小结
- 4.9 问题
- 第5章 Jenkins的安装与基础
- 5.1 技术要求
- 5.2 在Windows上安装
- 5.2.1 安装Jenkins的先决条件
- 5.2.2 Windows安装程序
- 5.2.3 在Windows上安装Jenkins
- 5.2.4 在Windows上运行安装程序
- 5.2.5 在Windows上用命令提示符启动和停止Jenkins
- 5.3 在Linux上安装
- 5.3.1 在Ubuntu上安装Jenkins
- 5.3.2 在Ubuntu上启动Jenkins服务
- 5.3.3 打开网络流量防火墙
- 5.3.4 首次登录时解锁Jenkins
- 5.4 在macOS上安装
- 5.4.1 下载Jenkins程序包
- 5.4.2 首次登录时解锁Jenkins
- 5.4.3 通过Homebrew安装Jenkins
- 5.5 在本地运行Jenkins
- 5.5.1 创建一个新项目
- 5.5.2 控制台输出
- 5.6 管理Jenkins
- 5.6.1 配置环境变量及工具
- 5.6.2 配置作业以轮询GitHub版本控制存储库
- 5.7 小结
- 5.8 问题
- 第6章 编写自由风格脚本
- 6.1 技术要求
- 6.2 创建简单的自由风格脚本
- 6.2.1 Jenkins仪表盘指南
- 6.2.2 添加新的构建作业项
- 6.2.3 构建配置选项
- 6.3 配置自由风格作业
- 6.3.1 General标签页
- 6.3.2 Source Code Management标签页
- 6.3.3 Build Triggers标签页
- 6.3.4 Build Environment标签页
- 6.3.5 Build标签页
- 6.3.6 Post-build Actions标签页
- 6.4 添加环境变量
- 6.4.1 全局环境变量的配置
- 6.4.2 EnvInject插件
- 6.5 用自由风格作业调试问题
- 6.5.1 历史构建总览
- 6.5.2 用自由风格脚本调试问题
- 6.6 小结
- 6.7 问题
- 第7章 开发插件
- 7.1 技术要求
- 7.2 Jenkins插件的说明
- 7.2.1 插件为什么有用
- 7.2.2 Jenkins插件文档
- 7.2.3 在Jenkins中安装插件
- 7.3 构建简单的Jenkins插件
- 7.3.1 安装Java
- 7.3.2 Maven安装指南
- 7.4 Jenkins插件的开发
- 7.4.1 Maven设置文件
- 7.4.2 HelloWorld Jenkins插件
- 7.4.3 目录结构说明
- 7.4.4 Jenkins插件源码说明
- 7.4.5 构建Jenkins插件
- 7.4.6 安装Jenkins插件
- 7.5 Jenkins插件生态系统
- 可用插件清单
- 7.6 小结
- 7.7 问题
- 第8章 使用Jenkins构建流水线
- 8.1 技术要求
- 8.2 Jenkins 2.0
- 8.2.1 为什么要使用Jenkins 2.0
- 8.2.2 在现有软件上安装Blue Ocean插件
- 8.2.3 通过Jenkins Docker镜像来安装Blue Ocean插件
- 8.2.4 查看Blue Ocean界面
- 8.3 Jenkins流水线
- 8.3.1 创建Jenkins流水线
- 8.3.2 用流水线编辑器创建流水线
- 8.4 Jenkins Blue Ocean操作说明
- 8.4.1 流水线视图
- 8.4.2 流水线细节视图
- 8.4.3 流水线构建视图
- 8.4.4 流水线阶段视图
- 8.4.5 Jenkins流水线中的其他视图
- 8.5 流水线语法
- 8.5.1 流水线编辑器
- 8.5.2 流水线语法文档
- 8.6 小结
- 8.7 问题
- 第9章 Travis CI的安装与基础
- 9.1 技术要求
- 9.2 Travis CI的介绍
- 比较Travis CI和Jenkins
- 9.3 使用Travis CI的先决条件
- 9.3.1 创建GitHub账号
- 9.3.2 创建Travis CI账号
- 9.3.3 为新GitHub账号添加SSH密钥
- 9.4 添加简单的Travis YAML配置脚本
- 9.4.1 Travis YML脚本内容
- 9.4.2 为Travis CI账号添加GitHub存储库
- 9.5 Travis CI脚本各部分解析
- 9.5.1 选择编程语言
- 9.5.2 选择基础设施
- 9.5.3 定制构建
- 9.6 小结
- 9.7 问题
- 第10章 Travis CI命令行命令及自动化
- 10.1 技术要求
- 10.2 Travis CLI的安装
- 10.2.1 在Windows上安装
- 10.2.2 在Linux上安装
- 10.2.3 在macOS上安装
- 10.3 Travis CLI命令
- 10.3.1 非API命令
- 10.3.2 API命令
- 10.3.3 存储库命令
- 10.3.4 Travis Pro和Travis Enterprise版本的Travis CI选项
- 10.4 小结
- 10.5 问题
- 第11章 Travis CI UI日志记录与调试
- 11.1 技术要求
- 11.2 Travis Web客户端概述
- 11.2.1 主控仪表盘概述
- 11.2.2 作业日志概述
- 11.3 用Docker在本地调试构建
- 11.4 在调试模式下运行构建
- 11.4.1 从配置页面获取API令牌
- 11.4.2 从构建日志获取作业ID
- 11.4.3 从视图配置按钮的链接中获取作业ID
- 11.4.4 通过直达/build端点的API请求获取作业ID
- 11.4.5 在调试模式下调用API来开始构建作业
- 11.4.6 在调试模式下启用SSH会话
- 11.4.7 Travis调试模式中的便捷Bash函数
- 11.4.8 tmate shell会话操作
- 11.5 Travis Web UI日志
- Travis CI用来保护特定的环境变量的步骤
- 11.6 Travis CI部署概述与调试
- 11.6.1 支持Travis CI的服务提供商
- 11.6.2 在Travis CI中设置Heroku
- 11.6.3 调试Travis YML脚本中的错误
- 11.7 小结
- 11.8 问题
- 第12章 CircleCI的安装与基础
- 12.1 技术要求
- 12.2 CircleCI简介
- 12.3 比较CircleCI和Jenkins
- 12.4 使用CircleCI的先决条件
- 12.4.1 创建GitHub账号
- 12.4.2 创建Bitbucket账号
- 12.4.3 创建CircleCI账号
- 12.5 在GitHub中设置CircleCI
- 12.6 在Bitbucket中设置CircleCI
- 用CircleCI构建在Bitbucket中创建Java项目
- 12.7 CircleCI配置概述
- 12.7.1 CircleCI配置概念概述
- 12.7.2 向新存储库中添加源文件
- 12.7.3 新存储库的CircleCI构建作业
- 12.8 小结
- 12.9 问题
- 第13章 CircleCI命令行命令与自动化
- 13.1 技术要求
- 13.2 CircleCI CLI的安装
- 13.2.1 在macOS / Linux上安装CircleCI CLI
- 13.2.2 通过GitHub安装CircleCI CLI的每夜构建版本
- 13.3 CircleCI CLI命令
- 13.3.1 version命令
- 13.3.2 help命令
- 13.3.3 config命令
- 13.3.4 build命令
- 13.3.5 step命令
- 13.3.6 configure命令
- 13.3.7 tests命令
- 13.4 在CircleCI中使用工作流
- 13.4.1 CircleCI Web UI中的实际工作流
- 13.4.2 顺序工作流示例
- 13.5 使用CircleCI API
- 13.5.1 测试CircleCI API连接
- 13.5.2 用CircleCI API获取单个Git存储库的构建摘要
- 13.5.3 用jq实用程序计算CircleCI构建的某些指标
- 13.6 小结
- 13.7 问题
- 第14章 CircleCI UI日志记录与调试
- 14.1 技术要求
- 14.2 作业日志概述
- 14.2.1 用默认构建作业运行作业中的步骤
- 14.2.2 用工作流运行作业中的步骤
- 14.2.3 用CircleCI API查找最新的构建URL
- 14.3 在CircleCI中调试慢速构建
- 14.4 日志记录和故障排除技术
- 用本地YML配置脚本运行构建以排除故障
- 14.5 小结
- 14.6 问题
- 第15章 最佳实践
- 15.1 技术要求
- 15.2 CI/CD中不同类型测试的最佳实践
- 15.2.1 冒烟测试
- 15.2.2 单元测试
- 15.2.3 集成测试
- 15.2.4 系统测试
- 15.2.5 验收测试
- 15.2.6 在CI/CD流水线中运行不同类型测试的最佳实践
- 15.3 密码和机密存储中的最佳实践
- 15.3.1 Vault的安装
- 15.3.2 机密管理的最佳实践概述
- 15.4 部署中的最佳实践
- 15.4.1 创建部署检查清单
- 15.4.2 自动化发布
- 15.4.3 部署脚本示例
- 15.4.4 部署脚本的最佳实践
- 15.5 小结
- 15.6 问题
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。