2016-11-03 118 views
3

即使前一阶段失败,是否有一种方法可以继续执行脚本?我需要运行特定的命令(清理),以防在构建失败之前失败所有的工作。Groovy管道继续失败

回答

11

通常的做法是将步骤包装在try区块内。

try { 
    sh "..." 
} catch (err) { 
    echo "something failed" 
} 
// cleanup 
sh "rm -rf *" 

为了缓解疼痛,使管道代码的可读性,我在另一种方法here in my global library code封装此。

另一种方法,因为这个问题而创建的,是声明性流水线blog,presentation)。

+0

是否意味着如果构建(sh“...”)失败这一步(尝试)会显示为成功? – user2988257

+0

IIRC管道执行被标记为失败。 – StephenKing

+0

嗯 - 认为步骤在这种情况下被标记为成功,至少在输入步骤周围使用时。 –