簡體   English   中英

如何執行shell命令來填充Jenkins動態選擇參數插件

[英]How to execute a shell command to populate a Jenkins Dynamic Choice Parameter Plugin

我想創建一個Jenkins作業,我在那里備份並將某些數據庫部署到遠程MongoDB實例。 我希望這個構建參數化,以便在構建時用戶從有效的MongoDB主機名列表中選擇,然后一旦用戶選擇了有效的DB主機名,第二個列表參數選擇框將動態填充所有有效的數據庫名稱在那個主機名上。 然后,一旦用戶選擇了DB名稱,該名稱將存儲在參數“DB”中,該參數可以傳遞給Build Step“Execute Shell”腳本以執行實際工作。

我的問題是我需要一種方法來執行Jenkins動態參數(級聯)插件中的腳本,該插件將運行一個shell(或理想情況下,python)腳本,該腳本將返回所選主機上的有效DB名稱列表。 我無法獲得插件的groovy腳本部分來在本地操作系統上執行shell命令(就像“執行Shell”構建步驟那樣)。

理想情況下,我想運行這樣的東西,其中“MONGOHOST”是用戶選擇的第一個參數:

#!/usr/bin/env python
from pymongo import MongoClient
client = MongoClient('mongodb://${MONGOHOST}:27017/')
choicelist = client.database_names()
client.close()

然后,我會以“選擇列表”的形式呈現,因為它們會被填充為“DB”參數的可用選項。

我怎樣才能實現這一點,特別是因為Dynamic Choice參數只接受groovy腳本而不是本機python?

通常,動態參數插件只是從簡單的ini文件加載選項。 因此,如果要更新可用選項列表,只需在Jenkins實例上更新這些文件即可。

順便說一句,如果你正在嘗試實現一個自助服務門戶,你可能想看看我最近發現的RunDeck,它似乎比Jenkins更加用戶友好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM