jenkins中的环境变量
jopen
9年前
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机器上的配置
参考: