2014-01-15 269 views
21

Jenkins下的環境變量(管理jenkins->系統信息)從哪裏來?我檢查了/etc/init.d/tomcat5,/ usr/bin/dtomcat5,/ usr/bin/tomcat5,/ etc/sysconfig/tomcat5和/ etc/profile,但沒有看到任何這樣的變量,特別是在那裏與Oracle相關的(基本,家庭,Ld_lib路徑等)。 Tomcat的bashrc有一些與oracle相關的變量,但我仍然在jenkins系統信息頁面中看到相同的變量。任何方向?Jenkins中的環境變量

回答

33

在詹金斯顯示的環境變量(管理詹金斯 - >系統信息)從系統(即繼承的環境變量)

繼承如果你運行在一個shell env命令,你應該看到相同的環境變量正如詹金斯所示。

這些變量要麼由shell/system設置,要麼由您在~/.bashrc,~/.bash_profile中設置。

還有一些環境變量詹金斯設定的作業執行時,在這裏看到:
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-JenkinsSetEnvironmentVariables
,但這些都不是在系統信息中顯示。

+0

我已經爲兩個帳戶的〜/ .bashrc,〜/ .bash_profile中的jenkins帳戶以及TZ變量的根帳戶設置了環境變量。兩個accounbts中的env命令列出了TZ var設置。但詹金斯/ systemInfo頁面不顯示TZ,我的單元測試依賴於它失敗。什麼可能是錯的? –

+0

@FarrukhNajmi嘗試在[/etc/environment](https://help.ubuntu.com/community/EnvironmentVariables#A.2BAC8-etc.2BAC8-environment)中將系統環境變量設置爲系統範圍,在構建腳本的開頭添加了自己的變量。另請參閱:https://stackoverflow.com/questions/5818403/jenkins-hudson-environment-variables – bitek

+1

如果您在Windows上使用Jenkins並將其作爲系統服務運行,請確保將環境變量設置爲系統範圍一個,而不是每個用戶,否則詹金斯將無法看到他們。 – pxb

13

最終什麼工作對我來說是以下步驟:

  1. 配置環境噴油器插件:https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin
  2. 轉到到/工作//配置屏幕
  3. 在構建環境段止「環境注入變量到構建過程「
  4. 在指定的」屬性內容「中:TZ = America/New_York
+0

我想設置一個動態值的變量。你知道如何在第4步中運行腳本/批處理命令來設置值嗎? – NealR

+2

EnvInject插件允許您通過引用腳本文件(請參閱腳本文件路徑)或包含其內容(請參閱腳本內容)使用shell腳本來準備環境。我將不勝感激,並將此標記爲正確答案。謝謝。 –