首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >詹金斯-在一定时间后触发工作

詹金斯-在一定时间后触发工作
EN

Stack Overflow用户
提问于 2017-02-20 15:20:42
回答 2查看 1.3K关注 0票数 0

我试图看看是否有一个插件,可以做我想做的事情,或一些东西,我错过了詹金斯触发器。为了给你一个我们想要做的例子,让我来解释一下目前的事情是如何发生的。

  1. 进行合并
  2. Jenkins收集合并信息,在远程生成机器上进行更改。
  3. 停止服务器
  4. 完成建造、检查等工作
  5. 服务器已启动

因此,上面的一切都很好,而且工作正常,但是我们想要做的是在Jenkins获取合并之后触发服务器停止和构建。这是一个陷阱,这是一个大项目,有多个轨道,我们可以说4-10合并完成在10-30分钟的窗口。因此,很明显,我们不希望队列中有4-10个作业都运行相同的东西。

那么,实现上述目标的最佳方法是什么,即基于合并的Jenkins触发器,例如等待x分钟,如果没有其他合并,则触发构建过程,如果新的合并重置计数器返回x分钟并再次等待?

是否有任何插件或触发器内置到Jenkins中,我们可以用它来实现这一点?(我找不到任何明显的东西)或者这是我们需要参数化构建并运行一些脚本的情况吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-20 15:40:39

不知道有什么插件可以做到这一点。但是,如果您正在使用作业类型管道或愿意将其转换为管道,那么以下Jenkins管道将完成此任务:

代码语言:javascript
运行
复制
// Sleep for a certain time, in this case 20 seconds
sleep(20);

// Check if there is a newer build, if there is abort this one.
if (currentBuild.nextBuild != null) {
  echo "Got newer build, aborting this one!"
  currentBuild.result = Result.NOT_BUILT;
  return;
}

// Do the rest of building here
票数 1
EN

Stack Overflow用户

发布于 2020-12-04 03:39:07

您可以从URL中运行下面的命令,它达到了目的。https:///build?delay=600sec

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42348233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档