Pipeline 获取 Jenkins参数

Pipeline 获取 Jenkins参数

Jenkins 提供了一系列默认的环境变量,这些变量在构建过程中可以被使用。以下是一些常见的 Jenkins 默认环境变量:

WORKSPACE: 当前构建的工作目录路径

JOB_NAME: 当前构建的作业名称

BUILD_NUMBER: 当前构建的编号(从 1 开始)

BUILD_ID: 当前构建的唯一标识符,通常是构建的时间戳

BUILD_URL: 当前构建的 URL 地址

GIT_COMMIT: 当前构建所使用的 Git 提交哈希(如果使用 Git 作为版本控制)

GIT_BRANCH: 当前构建所使用的 Git 分支(如果使用 Git 作为版本控制)

NODE_NAME: 当前构建执行的节点名称

EXECUTOR_NUMBER: 当前构建在节点上的执行器编号

JENKINS_URL: Jenkins 实例的 URL 地址

JOB_URL: 当前作业的 URL 地址

WORKSPACE: 当前作业的工作目录

等等

在 Jenkins 中通过安装 Parameter 插件

然后添加如下参数


添加完参数,回到构建界面,如下

添加的参数已经显示出来了

在 Pipeline 脚本中如何使用 Jenkins 中的参数

pipeline 脚本代码如下

bash 复制代码
pipeline {
    agent any
	
	// 在 Pipeline 中定义全局变量
	environment {
	    // 获取 Jenkins 中的变量通过 env. 如 env.WORKSPACE
		WorkSpacePath=${env.WORKSPACE}
	}

    stages {
        stage('Print WorkSpace') {
            steps {
                script {
				    // 全局变量,可以直接使用
					echo "WorkSpacePath=${WorkSpacePath}"
				    // 在这里也可以获取 env.WORKSPACE
                    echo "当前的工作目录: ${env.WORKSPACE}"
					// 当前构建的作业名称
					echo "JOB_NAME: ${env.JOB_NAME}"
					// 当前构建的编号(从 1 开始)
					echo "BUILD_NUMBER: ${env.BUILD_NUMBER}"
					// 当前构建的唯一标识符,通常是构建的时间戳
					echo "BUILD_ID: ${env.BUILD_ID}"
					// 当前构建的 URL 地址
					echo "BUILD_URL: ${env.BUILD_URL}"
					// 当前构建执行的节点名称
					echo "NODE_NAME: ${env.NODE_NAME}"
					// 当前构建在节点上的执行器编号
					echo "EXECUTOR_NUMBER: ${env.EXECUTOR_NUMBER}"
					// 当前构建所使用的 Git 提交哈希(如果使用 Git 作为版本控制)
					echo "GIT_COMMIT: ${env.GIT_COMMIT}"
					// 当前构建所使用的 Git 分支(如果使用 Git 作为版本控制)
					echo "GIT_BRANCH: ${env.GIT_BRANCH}"
                }
            }
        }
    }
}

执行结果如下

相关推荐
safestar201219 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
A__tao2 天前
Elasticsearch Mapping 一键生成 Proto 文件(支持嵌套 + 注释过滤)
大数据·elasticsearch·jenkins
小叶lr2 天前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins
REDcker2 天前
Jenkins 开源 CI/CD 平台概览与版本演进
ci/cd·开源·jenkins
观无2 天前
Jenkins 完整搭建 + .NET8 全自动发布
运维·jenkins
观无2 天前
Windows 本地电脑搭建一个私有的、类似 Gitee 的 Git 服务
gitee·jenkins·.netcore
REDcker2 天前
CI/CD 平台选型对比:与 Jenkins 同类的方案
jenkins·ci·cd
ACGkaka_3 天前
SpringBoot 实战(四十一):集成 Elasticsearch
spring boot·elasticsearch·jenkins
Arvin6274 天前
Jenkins 任务执行完成后会kill掉的衍生进程
运维·servlet·jenkins