如何在Rundeck中一步失败时优雅地停止作业执行?

时间:2017-01-18 21:18:48

标签: rundeck

所以我定义了一个Rundeck作业,它通常执行三个步骤:

  1. 运行脚本以检查远程目录中的.csv文件和rsync它们
  2. 操纵csv文件
  3. 将csvs rsync回远程目录
  4. 现在我设置了在步骤1中运行的脚本,以便在我的远程目录中没有csv文件时完成退出代码1,此时它不会执行第2步和第3步 - 这太棒了!但整个工作被标记为failed,即使它不需要执行其他步骤。

    是否有可能有条件地执行我的工作的第2步和第3步,如果第1步失败,它仍然标记为'成功'?

1 个答案:

答案 0 :(得分:2)

可以使用Rundeck Error Handlers

您需要在错误处理程序代码中使用作业上下文变量${result.resultCode}才能获得返回代码。

由于您不希望在错误处理程序成功执行后标记为失败的作业,您需要从WebUI勾选Keep going on success或将keepgoingOnSuccess="true"添加到作业定义代码。

但是在错误处理程序成功执行后,作业将继续执行步骤2和步骤3,您可能需要为其注入第2步代码。