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最简结构中。
posted @   sunshine_coast  阅读(568)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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的设计差异
点击右上角即可分享
微信分享提示