Jenkins 系列: (七) Jenkins 環境變數管理 阿新 • • 發佈:2019-02-01 今天我們談談 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時候很有用。