如何使prestep系统groovy脚本中断jenkins构建并将其设置为成功?

如何使prestep系统groovy脚本中断jenkins构建并将其设置为成功?,groovy,continuous-integration,hudson,jenkins,Groovy,Continuous Integration,Hudson,Jenkins,假设我在jenkins/hudson有一个maven2/3项目,在我在相应的config.xml文件中配置的maven项目上运行一些目标之前,我想在预步期间运行一个system groovy脚本(参考system groovy plugin),中断整个作业,并在满足某些条件时将其设置为成功(例如,假设我在上一个作业的日志文件中找到了一些内容)。我不希望MAVEN开始执行目标 我试过了 import hudson.model.* def thr = Thread.currentThread() d

假设我在jenkins/hudson有一个maven2/3项目,我在相应的config.xml文件中配置的maven项目上运行一些目标之前,我想在预步期间运行一个system groovy脚本(参考system groovy plugin),中断整个作业,并在满足某些条件时将其设置为成功(例如,假设我在上一个作业的日志文件中找到了一些内容)。我不希望MAVEN开始执行目标

我试过了

import hudson.model.*
def thr = Thread.currentThread()
def build = thr?.executable
build.executor.interrupt(hudson.model.Result.SUCCESS)
out.print "HELLO"
但是什么也没发生,甚至“HELLO”也会被打印在日志中,但随后构建就会中止

Parsing POMs
Discovered a new module ...
Modules changed, recalculating dependency graph
...
...jdk1.6.0_22/bin/java -Xmx512m -cp ...
<===[JENKINS REMOTING CAPACITY]===>Build was aborted
解析pom
发现一个新模块。。。
模块已更改,正在重新计算依赖关系图
...
…jdk1.6.0_22/bin/java-Xmx512m-cp。。。
构建被中止

谢谢您的时间。

我不完全理解您想要什么,因为您在这里描述了一些解决方案,而不是您的确切问题。我知道三个插件,它们也可能对您的问题有用:

  • 插件允许您设置作业结果,并停止进一步处理。可以设置任何状态,包括成功
  • 插件允许您为其子构建步骤定义条件。如果满足该条件,子(ren)将运行
  • -允许您在jenkins中的maven作业中在maven构建之前或之后运行构建步骤。请注意,最近,此插件是核心jenkins的一部分

因此,基本思想是,您可以在作业中添加条件构建步骤作为预构建步骤,子步骤可能是一个失败的构建实例。。请参见下图:

如果构建状态不起作用,则成功不会跳过Maven构建部分。它仍在执行。Hmm。之前它停止了作业。可能是在构建插件失败中的一个更改。感谢您提供的信息。