Pipeline 是 Jenkins2.X 的最核心的特性,帮助 Jenkins 实现从 CI 到 CD 与 DevOps 的转变。
Pipeline 是一组插件,让 Jenkins 可以实现持续交付管道的落地和实施。持续交付管道(CD
Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。
Pipeline 提供了一组可扩展的工具,通过 Pipeline Domain Specific Language(DSL)syntax 可以达到
Pipeline as Code( Jenkinsfile 存储在项目的源代码库)的目的。
Pipeline中的基础概念
Stage
阶段,一个 Pipeline 可以划分成若干个 Stage,每个 Stage 代表一组操作,例如:"Build","Test","Deploy"。Stage
是一个逻辑分组的概念,可以跨多个 Node
Node
节点,一个 Node 就是一个 Jenkins 节点,或者是 Master,或者是 Agent,是执行 Step 的具体运行环境。
Steps
步骤,Steps 是最基本的操作单元,小到创建一个目录,大到构建一个 Docker 镜像。
Pipeline创建与配置
新建一个 Jenkins 任务,在任务类型中选择 Pipeline。将 Pipleline 的任务代码填入 Pipeline Script 对话框。
运行 Pipeline 任务。
通过代码库运行Pipeline任务
除了可以直接在 Jenkins UI 中添加 Pipeline 代码运行任务,也可以将代码保存到代码库中,然后通过指定代码位置的方式来运行 Pipeline
任务。操作步骤如下:
新建一个 Jenkins 任务,在任务类型中选择 Pipeline。
在 Jenkins Pipeline 任务中选择 Pipeline script from SCM,然后添加 git 源码地址, 在 Script Path 中填写需要运行的 Jenkinsfile 文件所在的地址。
通过代码库运行 Pipeline 任务。
保存对Pipeline所做配置,然后运行任务。
Pipeline,简而言之,就是一套运行于 Jenkins
上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。