jenkins中的環境變量

jopen 9年前發布 | 81K 次閱讀 項目構建 Jenkins
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機器上的配置
jenkins中的環境變量

參考:
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!