当前位置: 首页 > 面试题库 >

使用Groovy for Jenkins取消排队的构建并中止正在执行的构建

商振
2023-03-14
问题内容

对于使用Groovy系统脚本的Jenkins,是否可以轻松地搜索构建队列和正在执行构建的列表中的某些条件(特别是与某些条件匹配的参数),然后杀死/取消它们?

我似乎找不到任何方法可以执行此操作,但似乎应该可行。


问题答案:

我尚未亲自对其进行测试,但是通过以下方式查看API,应该可以实现:

import hudson.model.*
import jenkins.model.Jenkins

def q = Jenkins.instance.queue

q.items.findAll { it.task.name.startsWith('my') }.each { q.cancel(it.task) }

相关API链接:

  • http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html
  • http://javadoc.jenkins-ci.org/hudson/model/Queue.html


 类似资料:
  • 对于使用Groovy System Script的Jenkins,是否有一种方法可以轻松地搜索构建队列和执行构建列表中的某些条件(特别是匹配某些条件的参数),然后终止/取消它们? 我似乎找不到任何方法来做到这一点,但似乎这应该是可能的。

  • 我目前使用的是Build Flow插件,在Jenkins 2.0中,这个插件似乎已经被放弃,转而支持管道。 在使用新管道重建现有工作时遇到了一些问题。 目前,我有类似这样的代码: 此处的目标是并行运行多个现有作业,然后访问有关已完成的生成的信息。这在构建流插件中一直没有问题。 我无法找到使用新管道访问这些数据的方法。 join['Job1']的转储不会像构建流插件那样提供对抽象构建或类似内容的访问

  • 我有如下内容:3个lib(libA,libB,libC),libB和libC依赖于libA。 一旦libA使用make完成构建,是否还有并行构建libB和libC的方法?

  • 我在Netbeans中创建了一个java项目,现在正处于构建阶段。我的项目中的所有东西都设置好了,我在它的属性中设置了一个主类,我甚至将我的项目设置为主项目。当我进行“清理和构建”时,会用我的。jar文件创建一个dist文件夹。但是,.jar文件是不可执行的,为什么呢?我打开了。jar文件并查看了清单,指定了一个main类,那么有什么问题呢?我运行的是Netbeans 7.3.1。谢了。

  • 我正在使用git、codebuild和elastic beanstalk构建一个CI/CD管道。 在代码构建执行期间,当由于测试用例的语法错误导致构建失败时,我看到代码构建进展到下一阶段,并最终继续生成工件。 我的理解是,如果构建失败,执行应该停止。这是正确的行为吗? 请参阅下面的buildspec。

  • 失败:生成失败,出现异常。 > 错误:任务“:CompileJava”执行失败。 找不到系统Java编译器。确保您已经安装了JDK(而不仅仅是JRE)并将您的JAVA_HOME系统变量配置为指向相应的目录。