Jenkins Pipeline是什么
Jenkins Pipeline(以下称“管道”)是一套插件,使jenkins支持建立持续交付工作流,将自由式的构建工作连接起来执行连续性任务。
为什么要管道?
Jenkins从根本上说是一个支持多种自动化模式的自动化引擎。Pipeline在Jenkins上增加了一套强大的自动化工具,支持从简单的CI持续集成到全面的CD工作流的用例,使jenkins完成从CI到CD角色的转变。通过对一系列相关任务建模,可以利用Pipeline的许多功能:
- 代码:管道是在代码中实现的,可以被检入到源代码管理中,使整个团队能够编辑、审查和迭代他们的交付流程。
- 耐久性:通过版本管理,保护工作流代码不易丢失,。
- 交互性:管道可以前台进行交互,让执行者决定是否继续。
- 多用途:管道支持复杂的实际CD需求,包括分支/连接,循环和并行执行工作的能力。
- 可扩展性:Pipeline插件支持对其DSL的定制扩展 和jenkins其他插件集成的选项。
基本概念
Node
节点是Jenkins运行工作空间,即jenkins分配的执行工作的机器。
stage
管道工作流运行的阶段,如拉取代码,单元测试,性能测试,编译,部署等。
step
一项任务,一个步骤。在stage阶段中,要执行的步骤。
语法简介
jenkins pipeline支持两种语法:
- Declarative Pipeline 声明式管道
Scripted Pipeline 脚本式管道
Declarative Pipeline
pipeline
块定义了整个流水线所做的所有工作。
pipeline {
agent