Jenkins 系列: (七) Jenkins 环境变量管理

本文详细探讨了Jenkins中的环境变量管理,包括系统变量、全局变量、Slave配置、Job参数和Job内环境变量的设定,以及环境变量的生效顺序。通过设置这些变量,可以在构建过程中灵活使用。同时,推荐了Build Environment和EnvInject插件来辅助查看和管理环境变量。


今天我们谈谈 Jenkins 中环境变量相关的问题,Jenkins中有多个地方可以设置环境变量,从而在build 构建过程中可以使用。


环境变量的来源

Jenkins系统变量

Jenkins 有很多系统内置的变量,在build 脚本或者step中可以直接使用,比如  JENKINS_HOME,JENKINS_URL, JOB_NAME,JOB_URL, BUILD_ID, BUILD_NUMBER,  BUILD_URL,WORKSPACE 等。

系统变量在所有的jobs中都可以使用。


全局变量 (Configure System )

在系统配置中,可以设置全局变量,和系统变量一样,全局变量在所有job中都可以使用。

Global properties” -> “Environment variables”



Slave 配置变量

在Jenkins slave 中可以设置 slave特有的环境变量,只有绑定到这个slave上运行的job,Jenkins才会在build运行时候插入设置的环境变量。

“Node Properties” -> “Environment variables”




Job 参数

如果Job中设置了参数,Jenkins把参数作为环境变量的形式插入到构建中,从而 构建脚本和step中可以直接使用。

Job配置中勾选“Thisproject is parameterized”设置参数。

Job中插入的环境变量

然后再job配置中勾选 “Injectenvironment variables to the build process”就可以添加环境变量了。通过这种方式添加的环境变量,只有这个job的构建过程中可见,其他jobs的构建不可见。




环境变量生效顺序

既然上面有那么多的地方可以设置环境变量,当多个地方都有定义的时候,

全局环境变量 < Slave 配置环境变量 < Job 参数 < Job injected 环境变量   

一般不Override系统变量,也就是说不重复定义系统内置的变量,否则可能出现不可预知的问题。



查看环境变量报告


然后可以查看构建build中的环境变量,同时可以比较不同builds的环境变量的差别,这在一些构建失败debug时候很有用。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值