Jenkins 是基于 Java 开发的一个开源的持续集成项目,其提供了一个可扩展的可对代码持续集成、发布(代码编译、打包、部署)及交付的 Web 化操作平台。Jenkins 拥有超过 1000 个插件,使其支持包括 SVN、Git 等多种版本的管理工具(SCM)的代码管理,也可以快速实现 Java、Node.js、.Net 等语言项目的编译构建,并支持包括 Docker 在内的多种形式的部署交付。通过 Jenkins 的 Web 化管理界面,依赖各种强大的插件功能,可以使 Nginx 的配置变更管理变得更加便捷和安全。

Jenkins 需要持久化的是 Jenkins 的运行目录,该目录包含其运行的所有配置文件,具体如下:

通过以下指令获取初始化密码:

Jenkins 是以任务(Job)为管理单元的,常用的任务类型有自由风格、Maven 项目、文件夹和流水线(pipeline)四种,本样例中仅使用自由风格任务类型。自由风格及流水线任务按照工作流程被划分为多个阶段,Jenkins 负责维护和管理任务在每个阶段的执行,并通过工作流的状态,按照任务的设定推动任务工作流的完成。自由风格任务的 6 个阶段配置如下表所示。