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

如何在Jenkins Pipeline中定义变量存储项目根路径避免重复编写

Jenkins Pipeline 路径复用修改方案

完全可以将根路径定义为全局变量复用,还可以顺便修复你现有脚本中Stage2、Stage3里重复写cd cd的笔误,推荐修改方案如下:

完整修改后代码

pipeline {
    agent any
    // 定义全局环境变量,所有stage均可复用
    environment {
        PROJECT_ROOT = "C:/Users/roger/project/"
    }
    stages {
        stage('Stage1') { 
            steps {
                // 用Jenkins内置dir步骤直接切换工作目录,无需手动写cd命令
                dir("${PROJECT_ROOT}") {
                    bat 'python -u script1.py'
                }
            }
        }
        stage('Stage2') { 
            steps {
                dir("${PROJECT_ROOT}/abc/") {
                    bat 'python -u script2.py'
                }
            }
        }
        stage('Stage3') { 
            steps {
                dir("${PROJECT_ROOT}/abc/new_dir/") {
                    bat 'python -u demo.py'
                }
            }
        }
    }
}

核心修改说明

  • 新增environment块定义全局变量PROJECT_ROOT存储项目根路径,后续所有位置引用该变量即可,修改根路径时只需改这一处
  • 用Jenkins内置dir()步骤替代手动写cd命令,自动切换对应工作目录,执行步骤结束后会自动恢复原来的工作目录,不会影响后续步骤的路径逻辑,可靠性更高
  • 如果你更习惯自己在bat里写路径拼接,也可以用如下写法,效果一致:
    bat """
        cd ${PROJECT_ROOT}/abc/
        python -u script2.py
    """
    

内容的提问来源于stack exchange,提问作者philein-sophos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:36:03