Jenkins 2权威指南

Book description

设计、实现并且执行具有一定灵活性、可控性以及易于维护性的持续交付流水线,对于以前版本的Jenkins来说是不可能实现的。通过这本实用的书籍,构建管理人员、开发人员、测试人员以及其他专业人员将会学到如何利用Jenkins 2的新特性来定义流水线即代码、集成其他关键技术,以及创建自动化的、可靠的流水线,以便简化和加速DevOps环境的建设。

作者Brent Laster向你展示了Jenkins 2与这个流行的开源自动化平台基于Web的传统版本有着很大的不同。如果你熟悉Jenkins并且想利用这些新技术来改造老旧流水线或者构建现代的自动化持续交付环境,那么这本书适合你。

  • 使用Jenkins通过代码创建持续交付流水线
  • 理解如何迁移现有的任务和流水线
  • 驾驭一些控制访问和安全性的优秀实践
  • 领会流水线共享库的结构、编码以及用法
  • 学会何时使用声明式语法和脚本式语法
  • 探索Jenkins中新的和已有的项目类型
  • 掌握新的Blue Ocean图形界面
  • 在流水线中利用底层的操作系统
  • 集成分析工具、制品管理和容器

Table of contents

  1. 封面
  2. 扉页
  3. 版权页
  4. O’Reilly Media, Inc.介绍
  5. 推荐语
  6. 推荐序一
  7. 推荐序二
  8. 中文版序
  9. 读者服务
  10. 译者序
  11. 献词
  12. 原书推荐序
  13. 目录 (1/2)
  14. 目录 (2/2)
  15. 前言
    1. 如何使用本书
    2. 排版约定
    3. 使用代码示例
    4. O’Reilly Safari
    5. 如何联系我们
    6. 致谢
  16. 第1章 Jenkins 2简介
    1. Jenkins 2是什么
      1. Jenkinsfile
      2. 声明式流水线
      3. Blue Ocean界面
      4. Jenkins 2的全新任务类型
    2. 做出转变的原因
      1. DevOps理念的转变
      2. 装配流水线
      3. 可恢复性
      4. 可配置性
      5. 共享工作空间
      6. 专业知识
      7. 访问逻辑
      8. 流水线源管理
      9. 竞争
    3. 迎接挑战
    4. 兼容性
      1. 流水线兼容性
      2. 插件兼容性
      3. 检查兼容性
    5. 总结
  17. 第2章 基础知识
    1. 语法:脚本式流水线和声明式流水线
      1. 如何选择脚本式语法和声明式语法
    2. 系统(system):主节点(master)、节点(node)、代理节点(agent)和执行器(executor)
      1. 主节点
      2. 节点
      3. 代理节点
      4. 执行器
      5. 创建节点
    3. 结构:使用Jenkins DSL
      1. 节点
      2. 阶段
      3. 步骤
    4. 支持环境:开发一个流水线脚本
      1. 创建一个流水线项目
      2. 编辑器
      3. 使用代码片段生成器
      4. 运行一条流水线 (1/2)
      5. 运行一条流水线 (2/2)
      6. 回放
    5. 总结
  18. 第3章 流水线执行流程
    1. 触发任务
      1. 在其他项目构建后构建
      2. 周期性构建
      3. 使用GitHub钩子触发器进行GitSCM轮询
      4. SCM轮询
      5. 静默期
      6. 远程触发构建
    2. 用户输入
      1. 输入
      2. 参数 (1/2)
      3. 参数 (2/2)
      4. 多个输入参数的返回值
      5. 参数与声明式流水线
    3. 流程控制选项
      1. 超时(timeout)
      2. 重试(retry)
      3. 睡眠(sleep)
      4. 等待直到(waitUntil)
    4. 处理并发
      1. 使用lock步骤对资源加锁
      2. 使用milestone来控制并发构建
      3. 在多分支流水线中限制并发
      4. 并行地运行任务
    5. 有条件的执行功能
    6. 构建后处理
      1. 脚本式流水线构建后处理
      2. 声明式流水线与构建后处理
    7. 总结
  19. 第4章 通知与报告
    1. 通知
      1. 电子邮件 (1/2)
      2. 电子邮件 (2/2)
      3. 协作服务 (1/2)
      4. 协作服务 (2/2)
    2. 报告
      1. 发布HTML报告
    3. 总结
  20. 第5章 访问与安全
    1. 安全加固Jenkins
      1. 启用安全性
      2. 其他全局安全配置
    2. Jenkins中的凭证
      1. 凭证范围
      2. 凭证域
      3. 凭证提供者
      4. 凭证存储
    3. 管理凭证
      1. 选择凭证提供者
      2. 选择凭证类型
      3. 通过提供者指定凭证类型
    4. 创建和管理凭证
      1. 上下文链接
      2. 添加一个新域或者凭证
      3. 使用新域和凭证
    5. 高级凭证:基于角色的访问权限
      1. 基本用途
      2. 管理角色
      3. 分配角色
      4. 角色策略宏
    6. 在流水线中使用凭证
      1. 用户名和密码
      2. SSH密钥
      3. 令牌凭证
    7. 控制脚本安全性
      1. 脚本检查
      2. 脚本批准
    8. Groovy沙箱
    9. Jenkins凭证与Vault配合使用
      1. 方法
      2. 安装
      3. 创建一个策略
      4. 身份验证
      5. 在Jenkins中使用Vault
    10. 总结
  21. 第6章 扩展你的流水线
    1. 可信库和不可信库
    2. 内部库与外部库
      1. 内部库
      2. 外部库
    3. 从代码仓库获取库
      1. Modern SCM
      2. Legacy SCM
    4. 在流水线脚本中使用库
      1. 从源码版本控制中自动下载库
      2. 加载库到脚本中
    5. Jenkins项目中的库范围
    6. 库结构
    7. 样本库例程
      1. 共享库代码的结构 (1/3)
      2. 共享库代码的结构 (2/3)
      3. 共享库代码的结构 (3/3)
    8. 使用第三方库
    9. 直接加载代码
    10. 从外部SCM加载代码
    11. 回放外部代码和库
    12. 深入研究可信与不可信代码
    13. 总结
  22. 第7章 声明式流水线
    1. 动机
      1. 不直观
      2. 掌握Groovy
      3. 其他必需的装配
    2. 结构
      1. 代码块
      2. 部分
      3. 指令
      4. 步骤
      5. 条件
    3. 构建代码块
      1. pipeline
      2. agent
      3. environment
      4. tools
      5. options
      6. triggers
      7. parameters
      8. libraries
      9. stages
      10. post
    4. 处理非声明式的代码
      1. 检查你的插件
      2. 创建一个共享库
      3. 在pipeline代码块之外放置代码
      4. script语句
    5. 在一个阶段中使用parallel
    6. 脚本检查与错误报告
    7. 声明式流水线与Blue Ocean接口
    8. 总结
  23. 第8章 理解项目类型
    1. 通用项目选项
      1. 基础设置
      2. 源码管理
      3. 构建触发器 (1/2)
      4. 构建触发器 (2/2)
      5. 构建环境 (1/2)
      6. 构建环境 (2/2)
      7. 构建
      8. 构建后操作
    2. 项目类型
      1. 自由风格类型项目
      2. Maven项目类型
      3. 流水线项目类型
      4. 外部任务项目类型
      5. 多配置项目类型
      6. Ivy项目
      7. 文件夹
      8. 多分支流水线项目
      9. GitHub组织项目
      10. Bitbucket团队/项目
    3. 总结
  24. 第9章 Blue Ocean用户界面
    1. 第一部分:管理已有的流水线
      1. 主界面
      2. 项目详情页面 (1/3)
      3. 项目详情页面 (2/3)
      4. 项目详情页面 (3/3)
      5. 运行页面 (1/2)
      6. 运行页面 (2/2)
    2. 第二部分:使用Blue Ocean编辑器
      1. 不依赖现有Jenkinsfile创建一个全新的流水线
      2. 使用编辑器 (1/2)
      3. 使用编辑器 (2/2)
      4. 编辑已有的流水线
      5. 导入和编辑已有的流水线 (1/2)
      6. 导入和编辑已有的流水线 (2/2)
      7. 使用非GitHub仓库支持流水线
    3. 总结
  25. 第10章 转换
    1. 通用的准备
      1. 逻辑和准确性
      2. 项目类型
      3. 系统
      4. 访问
      5. 全局配置
      6. 插件
      7. 共享库
    2. 将自由风格类型的流水线转换为脚本式流水线
      1. 源码
      2. 编译
      3. 单元测试
      4. 集成测试
      5. 迁移流水线接下来的部分
    3. 从Jenkins流水线项目转换为Jenkinsfile
      1. 方法 (1/2)
      2. 方法 (2/2)
      3. 最后的步骤
    4. 从脚本式流水线转换为声明式流水线
      1. 样本流水线
      2. 转换
      3. 完成转换
    5. 可用于转换的通用指南
    6. 总结
  26. 第11章 操作系统环境集成(shell、工作空间、环境和文件)
    1. 使用shell的步骤
      1. sh步骤
      2. bat步骤
      3. powershell步骤
    2. 使用环境变量
      1. withEnv步骤
    3. 使用工作空间
      1. 创建自定义工作空间
      2. 清理工作空间
    4. 文件和目录步骤
      1. 使用文件
      2. 使用目录
      3. 使用文件和目录的更多操作
    5. 总结
  27. 第12章 集成分析工具
    1. SonarQube调查
      1. 使用个人规则
      2. 质量门和配置文件
      3. 扫描程序
    2. 将SonarQube与Jenkins一起使用
      1. 全局配置
      2. 在自由风格类型项目中使用SonarQube
      3. 在流水线项目中使用SonarQube
      4. 利用SonarQube分析的结果
      5. 在Jenkins中集成SonarQube的输出
    3. 代码覆盖率:与JaCoCo集成
      1. 关于JaCoCo
      2. JaCoCo与流水线集成
      3. 在Jenkins中集成JaCoCo的输出
    4. 总结
  28. 第13章 集成制品管理
    1. 发布和获取制品
    2. 安装和全局配置
    3. 在脚本式流水线中使用Artifactory
    4. 执行其他任务
      1. 下载指定文件到指定目录
      2. 上传指定文件到指定路径
      3. 设置构建保留策略
      4. 构建提升
    5. 声明式流水线集成
    6. Artifactory与Jenkins输出集成
    7. 制品归档和指纹
    8. 总结
  29. 第14章 集成容器
    1. 配置成一个云
      1. 全局配置
      2. 使用Docker镜像作为代理节点
      3. 在流水线中使用云镜像
    2. 在声明式流水线中动态创建的代理节点
    3. Docker流水线全局变量
      1. 全局变量
      2. Docker应用全局变量方法 (1/2)
      3. Docker应用全局变量方法 (2/2)
      4. Docker镜像全局变量方法
      5. Docker容器全局变量方法
    4. 通过shell运行Docker
    5. 总结
  30. 第15章 其他接口
    1. 使用命令行接口
      1. 直接使用SSH接口
      2. 使用CLI客户端
    2. 使用Jenkins REST API
      1. 过滤结果
      2. 启动构建
    3. 使用脚本控制台
    4. 总结
  31. 第16章 故障处理
    1. 深入流水线步骤
    2. 处理序列化错误
      1. 连续传递风格
      2. 序列化流水线
      3. NotSerializableException
      4. 处理非序列化错误
    3. 识别引发错误的脚本行
    4. 处理流水线异常
    5. 在声明式流水线中使用非声明式代码
    6. 未授权代码(脚本和方法授权)
    7. 不支持的操作
    8. 系统日志
    9. 时间戳
    10. 流水线耐用性设置
    11. 总结
  32. 关于作者
  33. 封面介绍
  34. 关于译者

Product information

  • Title: Jenkins 2权威指南
  • Author(s): Brent Laster
  • Release date: April 2019
  • Publisher(s): Publishing House of Electronics Industry
  • ISBN: 9787121357633