2012-06-28 172 views
2

發送當前構建狀態在一定詹金斯的配置,我想引發另一場配置發佈生成操作。 我想傳遞的參數之一的當前版本狀態。觸發其他配置和詹金斯

IE:一個串/ INT表示該狀態(成功/失敗/ UNSTABLE)。

我有2個選項來創建生成後觸發:

使用加入插件 join plug-in

使用後觸發參數構建生成操作 parameterized build

我希望有是某種在運行的一端使用環境變量的...

有什麼想法?

謝謝!

+1

這個問題是重複的,請檢查以下鏈接:http://stackoverflow.com/questions/19381124/is-there-information-available-when-executing-jenkins-postbuild-script-about-job/43785259#43785259 – ivoruJavaBoy

回答

2

您可以使用Groovy腳本在生成後步驟中通過Groovy Post-Build plugin檢查狀態,該腳本可以通過Jenkins Java API訪問Jenkins內部。該插件提供具有可變經理可用於訪問API的重要部分的腳本(參見插件文檔中用法部分)。

例如,你這是怎麼能輸出構建結果建立控制檯:

def result = manager.build.result 
manager.listener.logger.println "And the result is: ${result}" 

現在,你可以改用值來創建一個屬性文件和傳遞文件參數觸發生成後步驟(它有這樣的選擇)。

警告:我不知道是否有可能安排後生成步驟以特定的順序,以確保Groovy的生成後步驟來執行參數觸發步驟之前運行。

3

下面是一個簡單的解決方案,將回答大多數情況下:

使用「觸發參數構建」插件,並設置兩個觸發器 -

  1. 「穩定或不穩定的,但不能失敗」
  2. '失敗'

每個觸發器都應該運行相同的工作 - 我們稱之爲'JOB_B'。

對於每個觸發器,通過你喜歡的任何參數,並且還通過用戶定義的值:

  • 觸發 '' 使用:JOB_A_STATUS = SUCCESS
  • 觸發'' 使用:JOB_A_STATUS = FAIL

現在,所有喲你需要做的就是測試$ {JOB_A_STATUS}的值JOB_B,看它是否設置爲'SUCCESS'或'FAIL'。

請注意,此解決方案不區分'穩定'和'不穩定',但只知道'失敗'和'成功'之間的區別。

祝你好運!