2013-03-04 48 views
0

我只想在构建失败时处理一些操作。例如,如果运行时执行已经引发了核心转储(当然不会总是发生),并且我想将它移动到某个位置,以便第二天的构建不会将其删除。jenkins在构建失败后执行操作

有没有人知道如何执行任何事情,以防构建失败?

回答

0

那么如果它被设置为记录到标准输出,它将在Jenkins日志中,如果没有,你可以设置它登录到你工作区中的文件,然后你可以打包成一个工件基于名称...如果您正在posix系统中运行,您可以将stderr重定向到stdout,并将这两者都指向您的run命令中的文件。或者通过三通管道,让你在

+0

比方说,我有一系列我在shell中逐个调用的指令。如果其中任何一个失败,我想运行“mv文件目录”。记录到stdout/stderr对我没有任何影响。 – ducin 2013-03-04 14:30:37

+0

你可以检查脚本中命令的返回值,或者你可以检查$?在执行 – 2013-03-04 16:42:53

1

尝试Groovy Postbuild Plugin。有了这个,你可以使用hudson api来检查构建是否失败,然后使用groovy脚本执行所需的操作。例如,您可以使用以下脚本来检查构建是不稳定还是更好

if(manager.build.result.isBetterOrEqualTo(hudson.model.Result.UNSTABLE)) 
{ 
\\ do something 
} 
+0

之后,在构建过程中涉及另一种语言往往是一个糟糕的主意......除非有必要,不仅仅是“我知道如何在ruby中做到这一点” – 2013-03-04 16:45:47

相关问题