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}"
                }
            }
        }
    }
}

执行结果如下

相关推荐
X1A0RAN7 小时前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
Ningcode_cloud1 天前
什么是CICD? GitLab + Jenkins 持续集成实战部署手册
运维·ci/cd·云原生·容器·gitlab·jenkins
tianyuanwo1 天前
Jenkins 邮件插件选型指南:从命名原理到场景实践
jenkins·plugin·email
姚永强1 天前
安装Jenkins
运维·jenkins
成茂峰1 天前
实战:内外网隔离环境下基于 Jenkins + PowerShell 的自动化 CI 构建与邮件通知方案
ci/cd·自动化·jenkins
tianyuanwo2 天前
Jenkins Pipeline 沙箱与非沙箱:CPS、序列化与白名单的深度解读(含 `take()` 与 `subList()` 实战对比)
pipeline·jenkins·groovy·take·sublist
Sayai4 天前
Elasticsearch 快照备份到 NAS(NFS)实战:SLM 自动化 + 365 天保留策略
elasticsearch·自动化·jenkins
zhougl9966 天前
Elasticsearch 7.x vs 8.x
大数据·elasticsearch·jenkins
醉颜凉7 天前
Jenkins与Git集成完全指南:从基础配置到自动触发构建
运维·git·jenkins
醉颜凉8 天前
Elasticsearch核心架构:集群(Cluster)原理详解与核心作用
elasticsearch·架构·jenkins