首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins:只有在前一个完成后才开始构建

Jenkins:只有在前一个完成后才开始构建
EN

Stack Overflow用户
提问于 2016-03-01 16:19:49
回答 1查看 446关注 0票数 2

所以我有一个Jenkins和一个奴隶在一起。对于这个从机,我有一个每天调度一次作业的调度器。

有时调度器在24小时后不会完成,这是很好的。环境是非常独特的,有时会发生这种情况。

这里的问题是,无论发生什么,调度程序都会在24小时后调度作业。然后,我得到的是一个仍然在从机上运行的调度器,同一个调度器被调度第二次,并等待前一个调度器完成。把所有的东西加起来,奴隶永远不会是自由的。

我想要的是一个调度选项,上面写着“在从机上调度这个调度器。如果这个调度器还在这个从机上运行--算了,忘了它,让我们看看24小时后会发生什么。”

有人有解决这个问题的办法吗?

感谢您的帮助!

PS:这是一台Windows服务器。

EN

回答 1

Stack Overflow用户

发布于 2016-03-01 17:35:38

您可以定义一个调度作业,它只查看作业是否正在运行,如果没有,则触发长时间运行的作业。您可以编写一个检查状态的脚本,例如:

代码语言:javascript
复制
$r = Invoke-Webrequest http://host/jenkins/job/PROJECTNAME/lastBuild/api/xml?depth=1
if ($r.Content -like '*<building>false</building>*') 
{ 
  echo "all go" 
}
else {
  throw 'job still running'
}

如果成功,只需添加触发另一个作业即可。

编辑:这是一个powershell脚本。我以为你用的是windows。

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

https://stackoverflow.com/questions/35717795

复制
相关文章

相似问题

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