如何在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
相关产品推荐
相关产品推荐

