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

如果标签离线,Jenkins Matrix Groovy执行策略插件将挂起

方心思
2023-03-14
问题内容

我正在尝试使用Matrix
Groovy执行策略插件
为Jenkins实现更复杂的组合过滤器。似乎可以正常工作,但是如果设置了标签的节点处于脱机状态,则矩阵作业将挂起,并且不会将其余矩阵项放入作业队列中。

Groovy足以在插件中产生相同的效果:

combinations.each{
            result[it.cfg] = result[it.cfg] ?: []
            result[it.cfg] << it
}
return [result, true]

如果将执行策略设置为“经典”,则即使某些节点处于脱机状态,所有作业标签也会进入队列。如果有任何区别,我启用了“如有必要,执行并发构建”。

是否需要修正某些设置,或者这是插件问题?


问题答案:

那是因为经典策略将所有关键作业都排在了队列中,然后将其他作业排入了队列。

此插件将按部分调度它们,如果节点处于脱机状态,则它们将等待,这是标准行为

注意:我写了矩阵执行策略插件

合并评论

您可以通过以下操作强制所有组合一次性提交:

combinations.each{
            result["a"] = result["a"] ?: []
            result["a"] << it
}
return [result, true]


 类似资料:
  • 问题内容: 我的要求是我有服务器J2EE Web应用程序和客户端J2EE Web应用程序。有时客户端可以脱机。当客户上线时,他应该能够来回同步更改。我还应该能够基于一些过滤器/规则来控制哪些行/表需要同步。有没有现成的Java框架可以做到这一点?如果我需要自己实施,您可以建议哪些不同的策略? 我想到的一个解决方案是维护SQL日志并在同步期间在另一端执行相同的语句。您认为此策略有任何问题吗? 问题答

  • 问题内容: 假设我有一个域,它指向某个IP地址,另一个域,它指向另一个IP地址。从Ajax请求下载的文件可以发送到吗? 现代浏览器如何严格执行同域策略? 问题答案: 对您的问题的简短回答是:否:对于AJAX调用,您只能访问与加载页面时相同的主机名(和端口/方案)。 有两种解决方法:一种是在其中创建一个URL 作为URL 的反向代理。只要主机名匹配,浏览器就不在乎请求的实际位置。如果您已经有一个前端

  • 我可以使用XPath//form//input[@type='radio']或name=gender属性来定位收音机,但是,我不知道如何定位收音机的标签,因为它们没有任何label标记。 我尝试了getText(),但返回为NULL。感谢您关于如何定位标签的建议和选择。

  • 我是maven的新手,学习如何以及何时在插件中执行阶段/目标 假设我的pom中有以下代码片段 现在,如果我执行mvn安装,安装之前的modello的所有阶段(以及每个阶段对应的所有目标)都将执行。正当 但是,如果进行以下修改以引入特定目标,则只会执行一个目标,即java目标(因为它位于安装阶段之前的生成源代码阶段)。对吗?

  • 标签插件帮助开发者在文章中快速插入内容。 概要 hexo.extend.tag.register(name, function(args, content){ }, options); 标签函数会传入两个参数:args 和 content,前者代表开发者在使用标签插件时传入的参数,而后者则是标签插件所覆盖的内容。 从 Hexo 3 开始,因为新增了非同步渲染功能,而改用 Nunjucks 作为渲染

  • 我想用gradle编译一个vertx项目。我想把它编译成一个独立的jar,我读到这可以通过gradle的shadow插件实现。 现在,我需要能够在离线环境中做到这一点。我下载了插件的源代码并将其编译成一个jar。现在,我想在我的项目中应用该jar中的插件build.gradle.我不知道如何做到这一点。 我知道这些答案,但似乎都不起作用。 目前,我有: 当我运行“gradle build”时,我得