2013-10-03 45 views
11

我在應該構建包含一些本機C代碼的maven項目的機器上設置jenkins從機。然而,機器本身證明是一個問題。 機器正在託管一個相當老的程序,它使用了許多環境變量,比如JAVA_HOME,maven需要正常工作。 爲了在從機上運行maven,我需要設置這些環境變量,然後再執行maven或maven,並且其他依賴項(如ssh)不會運行。我不能只是永久地更改變量,所以我需要一種方法來在執行maven構建之前更改en環境變量。在執行maven之前設置環境變量(在jenkins版本中)

我可以通過在執行mvn之前設置環境變量來手動執行構建,並且構建像魅力一樣工作。但我需要jenkins自動觸發構建。

正如我看到它,我需要: 配置詹金斯於執行行家 或 配置行家之前設置環境變量使用特定值,而不是某些環境變量(在這樣一種方式,詹金斯可以處理的執行)

非常感謝您的幫助。

回答

16

有很多選項。

  • 配置設置的環境變量(在節點屬性,檢查「環境變量」)
  • 的工具的節點詹金斯設定必要的環境本身。在節點配置中,您可以爲主配置中配置的工具設置不同的路徑(在節點屬性下選中「工具位置」),我相信您不需要插件來使用此選項。
  • 使用EnvInject plugin(該Setenv Plugin已過時)
  • 使用Envfile Plugin
  • 手動推出的Maven之前設置環境變量。你需要在同一個構建步驟中擁有兩個。 (最糟糕的解決方案)
  • 創建一個只在該特定節點上有效並在作業中使用它的java/maven配置。如果你的工作只能運行在你的特殊節點上而不能在其他地方運行,這是唯一的工作。

我建議第一或第二選項

0

我想詹金斯可能會支持通過用於配置作業的UI設置環境變量。如果沒有,你當然可以編寫一個腳本來設置你的環境,並讓jenkins在運行構建作業時執行該腳本。

+0

是,詹金斯支持多種不同的方式來設置環境變量。 –

+0

感謝您幫助@PeterSchuetze! – chad