jenkins中的环境变量 
 
 
  
  
 
 
 
 在Jenkins中环境变量有: 
  
   
   -  主机中的系统环境变量 
-  Master/Slave节点设置的环境变量 
-  Job执行时的环境变量(http://ip:port/jenkins/env-vars.html/、参数化构建时的参数也会被设置为环境变量、一些插件提供的环境变量) 
    其中,如果环境变量名称相同,后者会覆盖前者 
  
 
   
  
  
 
 
 
 
   这些环境变量可以在Shell或Batch脚本中被使用,以JOB_NAME环境变量为例: 
 
 
  
   
   -  在Shell中:$JOB_NAME 
-  在Batch中:%JOB_NAME% 
-  在Ant插件中:$JOB_NAME 
-  在Ant的build.xml中:${JOB_NAME} 
  
  
  
 
 
 
  
  在使用Jenkins的过程中,多次遇到Jenkins job中无法获取Slave上的环境变量的情况 
 
 
  
  
 
 
 
 
   例如,在Jenkins slave上安装了python,但在Jenkins job中使用python命令时,出现如下提示 
 
 
  
  ‘python‘不是内部或外部命令,也不是可运行的程序或批处理文件 
 
 
  
  
  
 
 
 
   而实际上Slave机器的环境变量PATH中已追加了python的环境变量,但是Jenkins job中无法读取到 
 
 
  
  
 
 
 
 
   解决方法: 
 
 
  
   
   -  使用绝对路径的命令 
-  在Jenkins的job中设置环境变量参数 
-  在Jenkins的节点配置中设置环境变量 
    当然,个人感觉其中最友好的方式是
   在Jenkins的节点配置中设置环境变量 
  
 
   
  
  
  
 
 
 
   例如:可以设置PATH的值为$PATH,这样PATH就可以读取到slave机器上的配置 
 
 
  
 
 
  
  
  
 参考: