jenkins学习之Jenkins流水线when条件判断执行

本文介绍了在Jenkins Declarative Pipeline中如何使用`when`闭包进行条件判断,决定stage是否执行。通过多个实例,包括例子1至例子5,展示了在不同场景下如何配置`when`来实现条件控制,如Optional Stages(类似if)和One of Many(类似switch)结构。
摘要由CSDN通过智能技术生成

流水线中如何使用条件判断来决定某个stage是否需要执行呢?

答案是 使用 when 这个闭包。 when 放到 stage 中使用,条件成立 就会执行 下面的 step是中的语句的。

Conditionals in a Declarative Pipeline Jenkinsfile

例子1

pipeline {
    agent any
    parameters {
        choice(
            choices: ['greeting' , 'silence'],
            description: '',
            name: 'REQUESTED_ACTION')
    }

    stages {
        stage ('Speak') {
            when {
                // Only say hello if a "greeting" is requested
                expression { params.REQUESTED_ACTION == 'greeting' }
            }
            steps {
                echo "Hello, bitwiseman!"
            }
        }
    }
}

例子2

条件判断,模拟 布尔 值判断,真假值判断
when {
    // case insensitive regular expression for truthy values
    expression { return token ==~ /(?i)(Y|YES|T|TRUE|ON|RUN)/ }
}
steps {
    /* step */
}

例子3

条件判断 or 或的意思。2个条件  A 和 B 有一个成立就会执行下面的steps的语句。
when {
    // A or B
    expression { return A || B }
}
steps {
    /* step */
}

例子4


when {
    expression { return readFile('pom.xml').contains('mycomponent') }
}
steps {
    /* step */
}




例子5


pipeline {
    agent any
    parameters {
        string (
            defaultValue: '*',
            description: '',
            name : 'BRANCH_PATTERN')
        booleanParam (
            defaultValue: false,
            description: '',
            name : 'FORCE_FULL_BUILD')
    }

    stages {
        stage ('Prepare') {
            steps {
                checkout([$class: 'GitSCM',
                    branches: [[name: "origin/${BRANCH_PATTERN}"]],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [[$class: 'LocalBranch']],
                    submoduleCf
Jenkins 是一款流行的开源持续集成/持续部署(CI/CD)工具,它使用一种称为“管道”或“工作流”的概念来自动化软件构建、测试和部署流程。在 Jenkins 中创建流水线Pipeline),你可以使用 Jenkinsfile(一种 Groovy 语言编写的脚本)定义你的构建流程,这个文件通常放在项目的根目录下。 以下是创建 Jenkins 流水线的基本步骤: 1. **设置 Jenkins**: - 安装并启动 Jenkins 服务器。 - 如果是在线,可以从 Jenkins 官网下载并按照指示安装;如果是本地,可以通过 Docker 或者手动安装。 2. **克隆项目到 Jenkins**: - 将你的项目添加到 Jenkins 中,可以选择 Git 作为源代码管理工具。 3. **创建 Jenkinsfile**: - 在项目根目录下创建名为 `.jenkinsfile` 或 `Jenkinsfile` 的文件。在这个文件中,使用 `pipeline` 关键字定义工作流程。 4. **编写 Pipeline 脚本**: - 使用关键字 `agent` 指定执行构建的工作节点。 - 使用 `stages` 分阶段组织流程,例如 `clean`, `build`, `test`, `deploy` 等。 - 使用 `when` 和 `steps` 来定义具体任务,如 `sh 'gradle build'` 命令执行 Gradle 构建,`publishArtifacts` 发布构建结果等。 5. **保存并触发构建**: - 保存 Jenkinsfile,然后在 Jenkins UI 中选择你的项目,点击 "添加构建步骤",选择 "Pipeline script from SCM" 并指定 Jenkinsfile 地址,最后触发构建。 6. **配置触发条件**: - 可以根据需要配置触发构建的触发器,如每次提交、定时构建等。 7. **监控和调试**: - Jenkins 提供了丰富的日志和监控功能,你可以查看构建历史、错误信息,以及使用断点和日志输出帮助调试。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值