Jenkins–基础–6.1–Pipeline–介绍
1、介绍
- 是Jenkins 2.X核心特性,帮助Jenkins实现从CI到CD与DevOps的转变
- 是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
- 是一个自动化引擎,它支持许多自动模式。
- Pipeline向Jenkins中添加了一组强大的工具,支持用例 简单的CI到全面的CD pipeline。
2、什么是Pipeline
- 是一组插件,让Jenkins可以实现持续交付管道的落地和实施。
- 持续交付管道(CD Pipeline):是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。
- Pipeline提供了一组可扩展的工具,通过Pipeline Domain Specific Language
(DSL) syntax可以达到Pipeline as Code的目的- Pipeline as Code:Jenkinsfile 存储在项目的源代码库
3、pipeline特性
3.1、代码
Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其CD流程。
3.2、可持续性
Jenkins重启或者中断后都不会影响Pipeline Job。
3.3、停顿
Pipeline可以选择停止并等待人工输入或批准,然后再继续Pipeline运行。
3.4、多功能
Pipeline支持现实世界的复杂CD要求,包括fork/join子进程,循环和并行执行工作的能力。
3.5、可扩展
Pipeline插件支持其DSL的自定义扩展以及与其他插件集成的多个选项。
4、两种语法
4.1、声明式
- jenkins2.5新加入的语法
4.1.1、特点
- 最外层必须由pipline{ //do something }来进行包裹
- 不需要";"作为分隔符,每个语句必须在一行内
- 不能直接使用groovy语句(例如循环判断等),需要被script {}包裹
4.2、脚本式
4.2.1、特点
- 最外层有node{}包裹
- 可直接使用groovy语句