2015-09-10 35 views
0

我有一個Maven Jenkins作業,我想從其他作業觸發 - 作爲下游作業 - 以及能夠手動啓動作業。如何在使用預殼程序步驟時觸發下游Jenkins構建

手動觸發器可以正常工作,但我注意到當從其他工作觸發作業時,很多環境都會丟失。基本命令不能再執行。

例如Maven/Jenkins使用uname來達到某種目的。日誌然後顯示

/usr/local/maven-3.2.5/bin/mvn: 1: /usr/local/maven-3.2.5/bin/mvn: uname: not found 

這對Ruby來說是一樣的。手動觸發時,作業正常運行。當從其他工作觸發時,Ruby不再存在。

根據手動或自動觸發,我沒有預料到詹金斯的功能有很大的不同。

回答

1

檢查哪個用戶爲您運行Jenkins。這是在一個* nix機器上?設置bashrc/bash_profile等來爲Jenkins功能用戶設置環境。添加一些路徑到env PATH以便能夠使用工具(Ruby等)。

Managing Jenkins functional user在這裏詳細描述。 Even more

+0

這是由我使用'path'作爲變量引起的。這導致系統'路徑'被改變。沒有意識到詹金斯正在使用普通的環境變量來傳遞參數。 – onknows

+0

我想你可以把我的答案算作有用的,然後呢? ;) – Zloj

相關問題