2013-08-23 23 views
9

我有一個哈德森的問題,因爲我的工作需要兩個參數構建 第一個指定環境,可以是DEV,QA,PROD, 和第二個是特定的服務器,這個參數取決於第一個。如何獲取參數取決於哈德遜或詹金斯的其他參數

舉例來說,如果我選擇環境DEV,第二個參數可以只有DEV1,DEV2,MAQ1 。 如果存在具有此功能的插件,或者我需要使用Groovy進行操作,我不知道。我不知道請幫助我。

謝謝

+0

這裏環境是什麼意思?您如何獲得您在第2步中選擇的環境? –

+0

這是問題,我有2個參數,第二個參數取決於第一個參數,如果你忘記paramateres名稱 –

回答

3

看起來,詹金斯加載參數列表來選擇當你打開「生成項目」頁面。選擇參數時也不會發生回調。

在這種情況下,將很難限制第二個參數的基礎上第一個沒有JavaScript和自定義插件。

我也看着那些:

我想請詹金斯用戶列表以獲取更多信息。

0

你可以試試EnvInject Plugin

首先將第一個參數放入設置文件中,然後插件可以從文件中讀取。第二步,用您自己的腳本生成第二個參數。

+0

謝謝約翰尼,我可以從文件讀取參數,但問題是:該腳本只執行時參數頁面是負載,而不是當我改變值的值。 –

0

我遇到了類似的問題。我有一個Dev1,Dev2,......的環境參數,另一個是需要運行這個工作的服務器。我可以從第一個開始計算第二個,但是這個工作已經在運行,我不能再將它移動到另一個服務器。

所以我最終得到了所有可能的選擇和教導用戶只選擇有效組合的兩個參數。我可以在腳本執行期間測試組合是否有效。我還在包含有效組合的其中一個參數的註釋中放入了一個小的html表格。

在你的情況下,你能計算第二個參數的值的第一個參數的值嗎?然後,您將能夠計算(如果仍然有必要)第一個參數的值,將其寫入臨時屬性文件並在稍後的構建步驟中將其加載到EnvInject plugin

11

一個好的插件(需要你有UpdateSites Manager插件並註冊biouno update site)是uno-choice plugin(和朋友)。

Uno-Choice Cascade Dynamic Parameter Plugin插件不僅允許兩個以上級別的依賴關係,還可以使用腳本或內聯groovy爲依賴於之前輸入的參數生成動態內容。

這當然是更多勝過以前的答案。

+1

AMAZING插件! –

+0

看起來像Uno-Choice插件現在是Active Choices插件。請參閱插件作者@ kool79的回答和評論。 – coderatchet

8

嘗試Active Choices Plugin。它是Uno-Choice插件的第二個名稱,但它位於官方Jenkins存儲庫中,不需要UpdateSites Manager插件。 (兩個插件都有相同的作者)。插件在插件的描述頁面上有很好的文檔和示例(和gif-demo)。

+0

插件以Uno Choice開頭(請參閱@thenaglecode回覆),然後我們決定與每個Jenkins用戶分享。社區投票贊成重新命名,艾歐尼斯建議積極選擇,這被廣泛接受。文檔和gif,對Ioannis來說也是如此:-) –