购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 Jenkins系统概述

Jenkins是企业广泛应用的开源持续集成和持续部署解决方案,它具有丰富的插件资源,可以在不同公司环境下进行功能扩展。本节将介绍Jenkins相关的概念以便于初学者快速入门。

1.1.1 Jenkins概述

Jenkins是基于Java语言开发的开源持续集成系统。它提供了数千个插件来支持构建、部署和自动化任何项目,并提供了一种简单的方法来设置持续集成和持续部署流水线。其插件Pipeline(流水线)可以为任何语言和源代码仓库的项目建立流水线,也可以自动化许多其他日常开发任务。Jenkins在DevOps实践中提供了一种更快、更强大的方式来集成整个构建、测试和部署工具链。Jenkins工具链集成图如图1-1所示。

图1-1 Jenkins工具链集成图

1.1.2 Jenkins应用场景

Jenkins可用于自动执行与构建、测试和交付或部署软件相关的各种任务。在软件工程领域,使用Jenkins核心特性Pipeline构建持续集成和持续部署流水线(见图1-2)。Jenkins的应用场景非常广,下面笔者从开发、运维、测试的角度分别举例说明。

图1-2 持续集成与持续部署流水线图

1.持续集成

开发人员的主要工作是编写、验证、提交业务代码。在没有使用Jenkins之前,这些验证任务都是手动运行的,随着提交代码频率的增加,可能会出现验证不完整,导致很多集成错误。使用Jenkins自动化并开启构建触发器能够集成版本控制系统,能实现代码提交到版本控制系统之后,自动运行代码验证并尽快发现集成错误,尽早反馈。持续集成工作流如图1-3所示。

图1-3 持续集成工作流

2.持续部署

运维人员的工作主要是将开发的应用程序部署到各个环境中。在没有使用Jenkins之前,这些操作都是通过手动或者编写Shell脚本实现的,很容易出现人工错误、发布持续时间也不太稳定的情况。使用Jenkins之后,可以将脚本集成到Jenkins Pipeline,运行时将脚本的日志和步骤进行可视化展示。通过参数化构建复用发布步骤,传递环境参数进行不同环境的自动化发布。持续部署工作流如图1-4所示。

图1-4 持续部署工作流

3.持续测试

测试人员的工作是编写一些接口和Web UI等方面的测试用例。在没有使用Jenkins之前,测试是在本地通过命令行运行的。使用Jenkins之后可以将测试用例和相关脚本代码存储到版本控制系统,通过Jenkins自动化运行测试用例并使用测试相关的插件将测试结果展示到页面。持续测试工作流如图1-5所示。

图1-5 持续测试工作流 +nxGdXbhJ46SjPPSUpHGs2O7M/yxzIUc5tCLrmJ1+dKCLpx4hpnC8+8z7U6TvaV0

点击中间区域
呼出菜单
上一章
目录
下一章
×