如何防止Jenkins恢复中止的工作

时间:2016-10-26 17:02:07

标签: jenkins jenkins-pipeline

我在Jenkins的 Build Executor Status 面板中单击其名称旁边的[x]按钮中止了一项工作,但该作业仍然存在并等待。

enter image description here

即使我重新启动Jenkins,它也会重新开始构建。当我看到控制台时,我看到了:

  

发送中断信号进行处理点击此处强制终止   运行步骤java.io.IOException:中止生成   sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)     at sun.reflect.NativeConstructorAccessorImpl.newInstance(未知   来源)at   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知   来自java.lang.reflect.Constructor.newInstance(未知来源)     在   org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)     在   org.codehaus.groovy.runtime.callsite.ConstructorSite $ ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)     在   org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)     在Script1.run(Script1.groovy:1)at   groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)[ SNIP ]

     

完成:ABORTED在CDT 2016年10月25日14:56:36之后恢复生成   詹金斯重启

我相信我的Pipeline脚本的这个版本还包含一个“输入”块,如果它产生差异,它可能会因为等待输入而中止

1 个答案:

答案 0 :(得分:2)

我通过管理Jenkins清除这些 - >脚本控制台,然后输入如下代码:

Jenkins.instance.getItemByFullName( "tpr-ereg") .getBuildByNumber(24). finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));

注意:以上内容可能需要全部在脚本控制台中的一行