[英]Jenkins - How can i pass parameters from the Upstream to Downstream
我有3個構建:A - 是控制流的主構建B- Anoter構建C-將在BI想要向A添加String參數后執行,因此用戶將手動輸入一些String,我不知道如何我可以將此參數路由到B.讓我們說這是我的構建流程:
build(“B”)build(“C”)我不知道如何將參數傳遞給B,如果我從構建流程或B構建配置中執行此操作,我該怎么做。
先謝謝Alex
像這樣的東西:
build("B", B_parameter: params["A_parameter"])<br>
build("C")
https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin
一種方法是使用參數化觸發器插件: https : //wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
這允許您使用但不限於:
* a set of predefined properties
* properties from a properties file read from the workspace of the triggering build
* the parameters of the current build
使用Build A,B和C,您可以將th3m設置為參數化構建(即要求參數值)。 這是一個靠近作業配置頁面開頭的設置。 例如,要獲取一個名為MY_ID
的參數。 現在可以在構建A中以$ MY_ID訪問它。
現在,當您構建A時,它會提示MY_ID。 然后在作業A中添加一個構建步驟以觸發帶參數的“B”,並將其傳遞給構建A的所有參數。現在構建B還將具有在運行構建A時設置的參數$ MY_ID。
Wooooow,所以經過幾個小時的播放“這個方程式中缺少哪個插件?”后,事實證明這些答案都沒有起作用,因為jenkins更改稱為SECURITY-170 。
如果您按照此答案中的步驟操作並且未轉發參數,請轉至此其他Stack Overflow應答 ,其中提供了有關問題的詳細信息。 如果你感覺太懶,只想驗證SECURITY-170是問題的症結所在,你可以試試這個臨時解決方案,因為它在重啟后不會持續存在:
Run
按鈕: System.setProperty("hudson.model.ParametersAction.keepUndefinedParameters", "true")
如果這對您有用,您可以查看我在另一個問題上匯總的答案 ,但我建議您在嘗試之前先閱讀問題和答案的背景。
這是我的管道(Master Build A)腳本,用於將參數傳遞給子作業(Child Build B)
build job: 'svn test', parameters: [string(name: 'srcpath', value: params["mainpath"]), string(name: 'revision', value: params["mainrevision"])]
我配置
- mainpath和mainrevision作為管道作業參數,
- srcpath和revision作為子作業參數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.