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

执行结果如下

相关推荐
安冬的码畜日常8 小时前
【JUnit实战3_22】 第十三章:用 JUnit 5 做持续集成(下):Jenkins + JUnit 5 + Git 持续集成本地实战演练完整复盘
git·测试工具·ci/cd·jenkins·集成测试·持续集成·junit5
一念一花一世界11 小时前
Jenkins vs GitLab CI/CD vs Arbess,CI/CD工具一文纵评
ci/cd·gitlab·jenkins·arbess
安冬的码畜日常13 小时前
【JUnit实战3_21】第十二章:JUnit 5 与主流 IDE 的集成 + 第十三章:用 JUnit 5 做持续集成(上):在本地安装 Jenkins
junit·eclipse·jenkins·intellij idea·持续集成·junit5·netbeans
matrixlzp13 小时前
Jenkins 实战4:集群配置与分布式构建
运维·jenkins
matrixlzp20 小时前
Jenkins 实战3:Jenkins + habor + docker 自动化部署
运维·jenkins
一念一花一世界1 天前
Jenkins vs Tekton vs Arbess,CI/CD工具一文纵评
jenkins·tekton·arbess·cicd工具
喜欢你,还有大家1 天前
集群——GitLab&&Jenkins部署
运维·gitlab·jenkins
水冗水孚2 天前
50多张图详细记录——使用Jenkins完成前端项目CICD自动化部署教程(不踩坑!)
前端·docker·jenkins
Java爱好狂.2 天前
接上篇:如何在项目中实现ES查询功能?
java·运维·jenkins·es·java面试·后端开发·java程序员
苦逼IT运维2 天前
Kubernetes 双层 Nginx 容器环境下的 CORS 问题及解决方案(极端情况)
运维·nginx·容器·kubernetes·jenkins·运维开发·ci