Jenkins pipeline基本结构
Jenkins pipeline就是Jenkins的部署流水线,Jenkinsfile就是一个文本文件,也就是部署流水线概念在Jenkins中的表现形式,所有的部署流水线的逻辑都是写在Jenkinsfile中的;Jenkins默认不支持Jenkinsfile的,所以先需要安装pipeline插件,Jenkins才支持pipeline as code.
由于历史原因,Jenkins pipeline支持两种语法。node为根结点的是脚本式语法,而pipeline为根结点的是声明式语法。Jenkins社区推荐的是声明式语法。
Jenkins团队在开始实现Jenkins pipeline时,groovy语言被选择作为基础来实现pipeline。所以,在写脚本式pipeline时,其实就是在写groovy代码。
Jenkins对这个过程进行了抽象,设计出一个基本的pipeline结构,以下为声明式语法。
1 2 3 4 5 6 7 8 9 10 11 | pipeline{ agent any stages{ stage( 'build' ){ steps{ echo "hello world" } } } } |
- pipeline:代表整条流水线
- stage部分:代表流水线的阶段。每个阶段必须有名称。本例中,build就是此阶段的名称。
- stages部分:流水线中多个stage的容器。stages至少包含一个stage。
- steps部分:代表阶段中的一个或者多个具体的步骤的容器。steps至少包含一个步骤,本例中echo就是一个步骤。在一个stage中有且只有一个steps。
- agent部分:指定流水线的执行位置。流水线中的每个阶段都必须在某个地方(物理机、虚拟机或docker容器)执行,agent部分即指定具体在哪里执行。以上每个部分都是必需的,一个不能少,不然Jenkins会报错。
- post部分包含在整个pipeline或阶段完成后一些附加的步骤。post部分是可选的,所以并不包含在pipeline最简结构中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异