2012-01-23 26 views

回答

3

你可以打開http:// $ HOST /詹金斯/工作/ $ PROJECT/$ BUILD /停止

+0

???,我需要這個工作將中止沒有我的幫助 – user1164651

+1

好吧,我明白了。我不認爲有內置的東西。您將必須檢查構建腳本中的觸發構建,如果失敗,您也會失敗。在觸發它之前,您可以從http:// $ HOSTs/jenkins/job/$ PROJECT/api/json獲取下一個內部版本號,然後檢查http:// $ HOST/jenkins/job/$ PROJECT/$ BUILD/api/json –

3

使用參數化的觸發插件from here

將它用作構建步驟(「在其他項目上觸發/調用構建」),選中「阻止,直到觸發項目完成構建」框,然後選擇「如果觸發構建更差或相等,則失敗此構建步驟失敗「。

+0

這是否有幫助? –

+0

這種方法是有道理的,構建被標記爲失敗,但它不會快速失敗。在我的例子中,我有一個jenkins作業按順序啓動了兩個觸發/調用其他項目作業的構建(子項目1和2)。但是,如果子項目1失敗,則子項目2不應啓動,但它會啓動 – yegeniy

1

您可以將後生成任務添加到觸發任務,這將:

  • 運行,如果在生成日誌中發現Finished: FAILURE
  • 執行shell: curl "$UPSTREAM_BUILD/stop" >/dev/null

$UPSTREAM_BUILD neds要通過參數指定,或者您可以使用API​​以某種方式確定它...

我目前正在設置我的矩陣版本來中止所有其他配置,如果一個失敗,它的工作方式如上所述。