2012-01-23 31 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​​以某种方式确定它...

我目前正在设置我的矩阵版本来中止所有其他配置,如果一个失败,它的工作方式如上所述。