詹金斯在规定的时间范围内阻止特定工作的建立

时间:2014-01-27 19:23:39

标签: jenkins

我有两个Jenkins工作,一个持续的集成工作,每当提交一个新的更改时运行,以及一个每天中午运行的构建/部署工作。我不希望构建同时运行,所以我使用Throttle Concurrent Builds插件只强制这两个作业排队,如果它们中的任何一个已经在运行。我的其他任何工作都可以在这两项工作的同时进行。

我希望构建/部署作业始终在中午运行,但有时开发人员会在中午之前提交更改,导致构建/部署作业等到CI作业完成。

是否有办法在定义的时间范围内(例如上午11:30到下午1点)仅阻止CI作业,以便中午不会阻止构建/部署作业?

2 个答案:

答案 0 :(得分:1)

恕我直言,几乎没有可能:

  • 第一个预检步骤,如果日期与要求不符,则检查日期并退出并错误
  • 两个以编程方式调用REST
  • 禁用和启用作业的作业

例如工作1

curl -X POST http://usr:pwd@host/job/joobname/disable

和工作2

curl -X POST http://usr:pwd@host/job/joobname/enable

在给定时间。

答案 1 :(得分:0)

您可以尝试添加从上午11:30到下午1点离线的从属节点,并将更改引起的构建限制为此。

第二种可能性是启用SCM轮询计划以在允许的时间范围内检查更改。