Jenkins 流水线教程:如何创建 Jenkins文件(示例)
什么是 Jenkins 管道?
Jenkins Pipeline 是一系列插件的组合,支持集成和实施 持续交付管道它是一款可扩展的自动化服务器,可通过管道领域特定语言 (Pipeline DSL) 以代码形式创建简单和复杂的交付管道。管道是一组按顺序相互连接的事件。
什么是持续交付管道?它是如何工作的?
在一个 Jenkins 管道中,每个作业或事件都对至少一个或多个事件有某种依赖关系,如下图所示。

上图展示了一个持续交付管道。 Jenkins它由构建、部署、测试和发布四个状态组成。每个状态都有自己的事件,这些事件按顺序执行。
持续交付流水线能够自动实现这一过程,通过一系列可重复的构建步骤,将软件从版本控制阶段推进到最终发布阶段。 测试 以及部署阶段。
什么是 Jenkins文件?
Jenkins 管道可以在一个名为“管道”的文本文件中定义。 Jenkins文件。它以领域特定语言 (DSL) 的代码形式表达管道,并包含运行管道所需的每个步骤。
使用的好处 Jenkins文件为:
- 一个 Jenkins文件可以为每个分支创建管道并执行拉取请求。
- 您可以查看您的 Jenkins 管道上的代码
- 您可以审核您的 Jenkins 管道
- 这是您的管道的唯一来源,可以由多个用户修改。
管道可以在以下位置定义: Jenkins 网页用户界面或 Jenkins文件已提交到源代码控制系统。一个最小的声明式文件具有固定的结构——一个管道块、一个代理和若干阶段,每个阶段包含一个步骤。
pipeline { agent any stages { stage('Build') { steps { echo 'Building' } } stage('Test') { steps { echo 'Testing' } } stage('Deploy') { steps { echo 'Deploying' } } } }
将其保存到存储库根目录会使用代码更新管道版本。
声明式管道语法与脚本式管道语法
有两种类型 Jenkins 用于定义管道语法的管道语法 Jenkins文件。
- 陈述式
- 脚本化
陈述式
声明式管道语法更简便。它遵循预定义的层次结构,并能以直接的方式控制管道执行的各个方面。
脚本化
脚本化 Jenkins 管道运行在 Jenkins 通过轻量级执行器进行控制器操作,该执行器使用极少的资源将管道转换为原子命令。两者的编写方式截然不同,因此请根据实际情况选择其中一种。 Jenkins文件。
⚠️ 注意: Jenkins 现在称之为 主 这个 调节器.
为何使用 Jenkins 管道?
Jenkins 是开放的 持续集成服务器 实现自动化 软件开发过程您可以创建多个 自动化工作 根据您的用例,将它们作为一个流水线运行。
以下是您应该使用的原因 Jenkins 管道:
- Pipeline 是以代码形式实现的,因此多个用户可以编辑和执行该流程。
- 流水线具有很强的鲁棒性:如果服务器意外重启,流水线会自动恢复运行。
- 您可以暂停管道,并使其保持运行状态,直到用户提供输入。
- 流水线支持大型项目:运行多个作业,甚至可以循环使用流水线。
Jenkins 产品管线 Concepts
四个术语在每个中反复出现 Jenkins文件:
| 术语 | 描述 |
|---|---|
| 产品管线 | 一套以代码形式编写的指令集,涵盖了持续交付的整个构建过程。借助流水线,您可以构建、测试和交付应用程序。 |
| Node | 机器 Jenkins 运行操作被称为节点。节点块主要用于脚本化管道语法。 |
| 阶段 | 阶段模块包含一系列步骤。构建、测试和部署流程都在一个阶段中汇合,这也是流水线视图所呈现的内容。 |
| 步骤 | 单个任务在预定时间执行特定流程。管道是一系列步骤的集合。 |
安装构建管道插件 Jenkins
构建管道插件创建传入和传出作业的管道视图,并添加手动干预触发器。
请按以下步骤安装:
步骤1) 插件的设置可以在以下位置找到: 物业管理 Jenkins 管理插件,如下所示。
⚠️ 版本说明: 当前 Jenkins 发布标签此屏幕 物业管理 Jenkins → 插件; 标签页的行为如本文所述。
如果您已经安装了该插件,它将显示在已安装选项卡下。
步骤2) 如果插件尚未安装,则会在“可用”选项卡下显示。
插件安装完成后:
如何创建 Jenkins 产品管线
登录到 Jenkins XNUMX月XNUMX日:
步骤1) 点击左侧的“+”按钮 Jenkins 用于创建流程的仪表板。
步骤2) 填写新的视图对话框:
- 给管道视图起个名字。我们称之为“Guru本次演示使用“99 Pipeline”。
- 在“选项”下选择“构建管道视图”。
- 点击确定,如下图所示。
步骤3) 下一页会要求您提供更多配置详情。请接受默认设置,并确保在设置中选择第一个作业。
点击“应用”,然后点击“确定”。
然后会显示您项目的示例管道视图:
运行管道构建
步骤1) 首先将作业串联起来:打开第一个作业并点击配置。
步骤2) 现在,在“构建触发器”下,选中“在其他项目构建完成后构建”选项。
现在,你所有的工作都可以通过一个链条来安排了。
步骤3) 如果尚未安装,请安装构建管道视图插件。
步骤4) 点击 Jenkins 在仪表板中,使用“+”按钮创建视图,选择“构建管道视图”选项,然后单击“确定”。
步骤5) 在管道视图配置下,找到管道流。
在“流水线流程”下,选择要运行的初始作业——在步骤 1 和步骤 2 中与其他作业链接的作业。
Guru这里选择 99 项目 1 作为初始作业,因此链式作业会逐个运行。
管道运行时,红色和绿色符号会显示其状态:红色表示失败,绿色表示成功。
在这个例子中,按钮是绿色的,所以管道操作成功了。
运行 Jenkins 管道
点击“运行”按钮运行程序。 Jenkins 管道。它看起来大概是这样的:
上面的例子构建了一个简单的“helloworld.java”程序。实际项目涉及的流程要复杂得多,如下图所示。
⚠️ 版本说明: 构建管道视图插件是可视化链式自由式作业的传统方法;当前的做法是在 A 中定义相同的流程。 Jenkins文件。蓝色 Ocean 不再增强。
使用最佳实践 Jenkins 产品管线
七个习惯让管道保持畅通:
- 使用正品 Jenkins 产品管线
- 以代码形式开发您的管道
- 管道中的任何非设置工作都应在阶段块内进行。
- 管道中的任何实质工作都必须在节点块内执行。
- 不要在节点块内使用输入。
- 切勿使用 env 全局变量设置环境变量
- 将输入包装在超时中













