Jenkins Pipeline 剖析

最后都变了- 提交于 2020-02-14 00:26:43

什么是Jenkins Pipeline?

Jenkins Pipeline(或简称为”Pipeline”)是一套Jenkins插件,将持续交付的实现和实施集成到Jenkins 中。持续交付Pipeline 自动化将基于版本控制管理的软件持续的交付到用户手中。Jenkins Pipeline 提供了一套可扩展的工具,用于将“简单到复杂”的交付流程实现为“持续交付即代码”。Jenkins Pipeline 的定义通常被写入到一个文本文件(称为Jenkinsfile )中,该文件可以被放入项目的源代码控制库中。

简而言之,Jenkins Pipeline是一组插件的组合,该组插件用于Jenkins集成和实现连续交付。Jenkins Pipeline 通过DSL(Domain Specific Language)创建基于“代码”的简单的或复杂的持续交付Jenkins任务。

持续交付Pipeline运行过程

在Jenkins  Pipeline中,每个作业(Job) 都至少依赖一个或多个作业或事件。

上图显示了Jenkins持续交付流程,该流程包含一系列状态的转移,分别为构建,部署,测试和发布阶段,这些阶段相互关联。这些阶段根据持续交付Pipeline中定义的顺序执行。持续交付流程显示了软件从构建到发布的全过程,表明了软件产品中进行的每项更改都需要经过许多复杂的过程才能发布,并且以可靠且可重复的方式开发发布软件,以及通过多个测试和部署阶段来构建软件。

JenkinsFile

JenkinsFile文本文件用来定义Jenkins Pipeline。使用JenkinsFile将Pipeline持续交付过程实现为代码表示,JenkinsFile 用DSL (Domain Specific Language)来定义。使用JenkinsFile,可以编写运行Jenkins Pipeline所需的过程。

JenkinsFile优点

  • 使用JenkinsFile可为所有分支自动创建Pipeline并且执行代码更新请求
  • 持续交付过程Pipeline代码化
  • Jenkins Pipeline 过程便于审核
  • 多用户在代码控制管理下修改Jenkins Pipeline
  • JenkinsFile可通过Web UI或JenkinsFile文本文件进行定义

声明式和脚本式Pipeline语法

声明式

声明式Pipeline语法提供了一种创建Pipeline的简便方法, 它包含用于创建Jenkins Pipeline的预定义层次结构,使用户能够以简单,直接的方式控制Pipeline执行的所有过程。

脚本式

脚本式Jenkins Pipeline在Jenkins Master节点上运行,使用很少的计算资源将Pipeline转换为执行子命令。需要注意声明式语法和脚本式语法都互不相同,并且定义完全不同。

为什么要使用Jenkin Pipeline

Jenkins是一个开放的持续集成服务器,具有支持软件开发流程自动化的能力,可创建多个自动化Jenins作业,并将这些作业作为Jenkins Pipeline运行。

使用Jenkins Pipeline的原因

Jenkins Pipeline允许多个用户编辑和执行Pipeline代码

Pipeline功能强大,如果服务器被重启,则Pipeline将自动恢复

特定情景下,可暂停Pipeline流程,等待直到用户输入为止

Jenkins Pipeline支持大型项目, 可运行多个作业,可循环执行Pipeline

Jenkins Pipeline 主要概念

Pipeline: 

Pipeline是一组以代码形式给出的指令,用于持续交付项目,包括整个构建过程所需的指令。使用Pipeline,可以构建,测试和交付应用程序

Node:

运行Jenkins的机器称为节点。节点块主要用于脚本化Pipeline语法

Stage:

Stage在Pipeline中包含一系列步骤。构建,测试和部署过程定义在不同的Stage并组合在一起。Stage块用于可视化Jenkins流水线过程

Step:

Step是执行特定过程的单个任务。Pipeline涉及一系列Step

Jenkins中安装Build Pipeline插件

在Jenkins中安装Build Pipeline插件的方法:

  • 插件的设置可以在Manage Jenkins> Manage Plugins下找到:

  • 如已安装插件,将显示在已安装的选项卡下:

  • 如以前未安装该插件,则该插件会显示在“可用”选项卡下  ,在Jenkins中成功安装了构建管道插件后,按照以下步骤创建Jenkins Pipeline

创建Jenkins Pipeline

登录到Jenkins Dashboard后

  • 单击Jenkins  Dashboard左侧的“+”按钮以创建 Pipeline:

 

  • 为Pipeline视图命名, 选择选项下的构建Pipeline视图, 点击确定:

  • 在下一页中,将提供更多详细信息以配置Jenkins Pipeline, 作为示例,只需接受默认设置。单击“应用”,然后单击“确定”

运行Jenkins Pipeline

单击运行以运行Jenkins Pipeline, 如下图所示:

在实际项目中,可以在Jenkins中创建和构建复杂的Pipeline。请参阅下面的示例Pipeline视图:

总结

Jenkins  Pipeline 有诸多的语法,如需了解更多的关于Trigger, Input, When 等指令用法,大家可参见Jenkins 官方文档和逗点云的Pipeline 全解析系列课程(https://ke.qq.com/course/458814?tuin=9239b190)和Pipeline 入门系列课程。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!