[英]Passing the result back from Parameterized Trigger plugin
我有2個工作:“Helper”和“Main”以及單個jenkins實例(它是主機和執行器)。
幫助程序管理第三方資源並為主作業做准備(准確地說 - 它為應用程序部署進行測試創建環境)。
幫助程序作業的唯一工件是具有為主作業准備的環境IP的單個文件。
在這種情況下,如何將構建從Helper傳遞回Main?
您說您只需要將帶有IP的文件傳遞給“主”作業。 如果您需要的只是IP,那么有更簡單的方法(沒有文件),我將描述兩者。
在“幫助程序”作業中,您需要從工作區歸檔該文件。
現在,在“Main”作業中,您需要從之前的(“Helper”)作業復制此工件。
**/yourartifactname*.*
您的工件名稱將是您在“幫助程序”作業中配置的名稱。 在前面使用**/
確保它在到達工件之前將忽略任何目錄結構 現在,您的“Main”作業在其工作區中具有來自“Helper”作業的文件。 像使用工作區中的任何其他文件一樣使用它
就像我提到的那樣,如果您只需要一個IP地址,即在“Helper”作業中的某個時間點作為變量,您只需使用其他項目中的Trigger / Call構建將其發送到“Main”作業您在“幫助程序”作業的步驟3和4中配置的。 在這種情況下,“Main”作業不需要任何特殊配置。
VarForMain=$VarFromHelper
,其中VarFromHelper
是包含IP地址的“Helper”作業的環境變量, VarForMain
是將在“Main”作業中設置為此值的環境變量。 沒有理由為什么這些不能有相同的名稱。 現在,在“Main”作業中,您可以像引用任何其他環境變量一樣引用$VarForMain
接受的答案在我的案例中沒有幫助,但我剛剛想出了一個技巧:
使用shell命令創建主作業
echo "PARAMS_FILE=${WORKSPACE}/build-${BUILD_NUMBER}.params" > "${WORKSPACE}/build-${BUILD_NUMBER}.params"
將它們添加到構建步驟(編譯后未步)創建子作業
將文件作為參數源傳遞給子構建,並使構建在其腳本中使用一行更新文件,如:
echo "MY_VAR=some_value" >> "$PARAMS_FILE"
這樣,所有后續工作都會根據其前任的結果更新環境。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.