Jenkins Pipeline

本文介绍了Jenkins 2.x的核心特性——Pipeline as code,通过Pipeline可以使用Declarative或Scripted模式用代码定义复杂的工作流程。Declarative Pipeline强调结构化和易读性,适合简单流程;Scripted Pipeline更灵活,适用于复杂业务逻辑。Jenkins Pipeline支持在SCM中管理Jenkinsfile,提升协作效率和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jenkins 2.x的核心能力是Pipeline as code。在Jenkins 1.x中,我们通过简单便捷的配置,可以快速完成基本CI、CD的Job创建和管理,但对于复杂的流程,Jenkins 1.x则无从下手。在软件的发布过程中,通常会有一整套复杂的流程,来支持从代码提交到最终的软件交付。通过Jenkins pipeline,我们可以用代码的方式,定义我们的工作流,从而在代码中编写工程的CI、CD业务逻辑。同时,Pipeline支持在不同节点运行不同的步骤,使得整个DevOps流程更加灵活。

Jenkins pipeline支持两种模式,一种是Declarative Pipeline,另一种是Scripted Pipeline。两种模式都遵循的是groovy语法,但在编写上会有差别。

Declarative Pipeline

Declarative Pipeline必须被包含在pipeline语句块中:

pipeline {
    /* insert Declarative Pipeline here */
}

一个完整的Hello World!示例如下:

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo 'Hello World'
            }
        }
    }
    post { 
        always { 
            echo 'I will always say Hello again!'
        }
    }
}

agent指定整个Pipeline或特定stage将在Jenkins环境中被执行的节点,如Jenkins 的master节点或某个cluster节点。

在Declarative Pipeline模式的代码中,可能会在一个stages{…}中声明一窜嵌套的stages{…}, 并以顺序执行。需要指出的是,一个stage{…}必须有且只有一个steps{…}, 或者parallel{…} 或者stages{…}。

post用来定义将在Pipeline结束或stage结束时运行的操作。支持的post有: always,changed,failure,success,unstable,aborted。这些块允许在Pipeline运行或stage结束时执行步骤,具体取决于Pipeline的状态。

还可以在parallel块中声明多个嵌套stage,这些stage将并行执行。需要注意的是一个stage有且只能有一个steps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值