什么是Pipeline快速启动Pipeline使用条件Pipeline定义Pipeline语法
什么是Pipeline
让我来介绍一下什么是Jenkins 2.0。 Jenkins 2.0的精髓是pipeline as代码,它是帮助Jenkins从CI迁移到CD的重要角色。 什么是Pipeline,简单地说,就是在Jenkins上运行的一组工作流框架,它将在单个节点或多个节点上独立运行的任务串联起来,以实现单个任务难以完成的复杂的发布过程。 Pipeline实现是一组Groovy DSL,任何发行过程都可以表示为Groovy脚本。 Jenkins还支持直接从代码库读取脚本,从而实现了Pipeline as Code的理念。
Pipeline的几个基本概念:
在Stage:阶段,一个Pipeline可以划分为多个Stage,每个Stage代表一组操作。 请注意,Stage是一个逻辑分组概念,可以跨多个节点。
节点:节点、节点Node为Jenkins节点、Master或Agent,是执行Step的特定运行时环境。
Step:步,Step是最基本的操作单元,越是创建目录越小,越是构建Docker镜像越大,由各种Jenkins插件提供。
本节介绍Jenkins Pipeline的核心概念,并提供在运行的Jenkins实例中定义和使用Pipelines的基本知识。
使用条件要使用Jenkins Pipeline,需要:
Jenkins 2.x或更高版本
Pipeline插件
Pipeline定义Pipeline脚本是用Groovy编写的。 Groovy语法将在后续文档中介绍。
可以使用以下方法之一创建基本Pipeline :
pipelinescript :直接在webui的script输入框中输入pipelinescript语句即可。 请单击输入框下方的Pipeline Syntax以查看说明。 有很多操作例子,非常方便。
pipelinescriptfromscm :必须配置包含git或SVN地址的SCM代码,并指定script文件Jenkins文件的路径。 每次生成job时,都会自动在指定的目录中运行script文件
这两种方法定义Pipeline的语法都是一样的。
在Web UI中定义Pipeline
要在Jenkins Web UI中创建基本Pipeline Job,请执行以下操作:
在Jenkins主页上单击New Item。
输入Pipeline的名称,选择Pipeline,然后单击“确定”。
在“脚本”文本区域中键入Pipeline,然后单击“保存”。
单击“构建历史记录”下的#buildId,然后单击控制台输出以查看Pipeline的完整输出
在SCM中定义pipeline
复杂的Pipeline很难写入和维护Pipeline配置页面的文本区域。 为了解决此问题,jenkins Pipeline支持在文本编辑器中创建脚本文件jenkinsFile。 Jenkins可以从SCM选项控件加载Pipeline脚本。
在使用SCM选项选择Pipeline脚本后,请不要在Jenkins UI中输入Groovy代码; 只需指定要获取的Pipeline脚本的路径。 更新指定的存储库时,只要Pipeline配置了SCM轮询触发器,就会触发新的内部版本。
—文本编辑器、IDE、GitHub等使用Groovy代码语法突出显示,第一行Jenkins文件为#!/usr/bin/env groovy Jenkins文件。
内置文档
Pipeline内置了文档功能,可以更容易地创建具有不同复杂性的Pipeline。 根据Jenkins实例上安装的插件自动生成和更新嵌入式文档。
内置文档可以在全球范围内获得。 localhost :8080/pipeline-syntax /假设Jenkins实例在本地端口8080上运行。 类似的文档也作为pipeline语法链接到任何配置的pipeline边栏中的项目。
代码段生成器
内置的" Snippet Generator "程序有助于在一个步骤中生成代码段。
Snippet Generator动态生成Jenkins实例中可用步骤的列表。 可用步骤的数量取决于安装的插件,Pipeline中使用的步骤已明确公开。
要使用代码段生成器生成步骤代码片段,请执行以下操作:
1、配置的管线或本地主机:从8080/Pipeline-syntax移动到pipeline语法链接Pipeline Syntax
2、从" Sample Step "下拉菜单中选择所需的步骤,使用" Sample Step "下拉列表下的动态填充区域配置所选步骤。 例如,如果消息是" hello world ",则单击“生成Pipeline脚本”以创建可以复制并粘贴到Pipeline中的pipelind
全局变量引用
除了代码片段生成器外,Pipeline还提供了内置的“全局变量引用”。 与Snippet Generator一样,它是由插件动态输入的。 与代码段生成器不同,全局变量引用仅包含Pipeline提供的变量。 这些变量可以在Pipeline中使用。
Pipeline默认情况下提供的变量如下:
电动汽车
Pipeline脚本可以访问的环境变量。 env.PATH和env.BUILD_ID等。 有关管道中可用环境变量的完整最新列表,请参阅内置全局变量。
参数化
Pipeline中定义的所有参数,包括params.MY_PARAM_NAME。
当前构建
可以获取当前运行的Pipeline job的信息,包括属性currentBuild.result和currentBuild.displayName
引用官方文档: https://Jenkins.io/doc/book/pipeline/getting-started /
Pipeline语法https://blog.csdn.net/weixin _ 37689012/article/details/105636061