You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins:如何用EXECUTOR_NUMBER定义环境变量

Jenkins节点环境变量嵌入EXECUTOR_NUMBER的实现方案

这个需求完全可以实现,针对你的Jenkins 2.361.1版本,分两种场景给出具体解决方法:

一、节点全局配置(所有运行在该节点的Job都生效)

节点默认的静态环境变量不会自动解析EXECUTOR_NUMBER这类内置变量,得用Groovy脚本动态生成值:

  1. 进入节点配置页:Manage Jenkins → Manage Nodes and Clouds → 选中目标节点 → Configure
  2. 找到「Node properties」,勾选「Environment variables」
  3. 点击「Add」,填写变量名(比如DB_INSTANCE)
  4. 在「Value」栏不要直接写ci-db#$EXECUTOR_NUMBER,改用Groovy脚本格式:
    "ci-db#${EXECUTOR_NUMBER}"
    
    (怕执行器未分配时出问题,可以加默认值:${EXECUTOR_NUMBER} ? "ci-db#${EXECUTOR_NUMBER}" : "ci-db#default")
  5. 保存配置后,该节点上的Job就能拿到替换后的变量值了。

二、仅在特定Job中生效(自由风格/Pipeline)

自由风格Job

  1. 打开Job配置,找到「Build Environment」,勾选「Inject environment variables to the build process」
  2. 在「Properties Content」里直接写:
    DB_INSTANCE=ci-db#${EXECUTOR_NUMBER}
    
  3. 保存后,构建时变量会自动替换为实际的执行器编号。

Pipeline Job

直接在脚本里用环境变量语法定义:

pipeline {
    agent { label '你的节点标签' }
    environment {
        DB_INSTANCE = "ci-db#${env.EXECUTOR_NUMBER}"
    }
    stages {
        stage('测试变量') {
            steps {
                echo "当前DB实例:${DB_INSTANCE}"
            }
        }
    }
}

运行时会自动把env.EXECUTOR_NUMBER替换成实际数值。

注意点

  • EXECUTOR_NUMBER只有在Job执行期间才会有有效值,节点空闲时这个变量可能为空,建议根据实际情况加默认值处理。

内容的提问来源于stack exchange,提问作者Maria Pedro Sales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 14:44:58