【问题标题】:Can i limit number of execution per day for a build?我可以限制构建每天的执行次数吗?
【发布时间】:2019-02-04 15:04:30
【问题描述】:

在 Jenkins 中,我需要将正在运行的作业执行限制为每天一次 这是可能的 ?

我的构建只是一个批处理命令

我有一个 cron 来执行我的工作,并且我可以使用 URL 来手动运行我的工作。如果作业已经执行,则必须阻塞一天

谢谢大家的回答

【问题讨论】:

  • 由于这可能没有直接的答案来做你想做的事,你可以使用 Restriction job 插件来解决问题。您可以禁止手动作业并限制某些用户接受的作业,这样您可以让作业只有在您接受时才触发。 wiki.jenkins.io/display/JENKINS/Job+Restrictions+Plugin
  • 谢谢回答,但我不能使用这个解决方案..手动执行应该有效,但每天只能执行一次..无论用户如何
  • 如何添加一个命令来禁用你的工作,然后等到午夜再次激活它?最好的方法是创建一个禁用已完成作业的作业,然后等到午夜,然后再次启用该作业。你可以使用这个脚本来完成这个 import jenkins.* import jenkins.model.* try { Jenkins.instance.getItem("jobname").disable() } catch (Exception ex) { printf("Error disabling jobname." + ex.getMessage()) }
  • 是的,这是个好主意,但问题是该作业在夜间定期运行,但我必须能够在白天通过 URL 运行一次
  • 您说作业应该在 24 小时内只运行 1 次。因此,该解决方案应该适合您。因为该作业将在午夜后再次激活,如果您在早上手动运行它或它由 scedule 触发,它应该可以解决问题。先试试看

标签: jenkins job-scheduling


【解决方案1】:

因此假设您的作业名称为 TestJob ,创建另一个名为 DisableEnable_TestJob 的作业。 在 DisableEnable_TestJob 中将其配置为使用 Build 触发器触发 然后您可以使用Job DSL plugin 停用特定的TestJob,然后在系统时间为午夜后激活。请参阅此答案以了解如何使用它:Activate and disactivate a job using DSL plugin。您只需搜索如何等到午夜时间,但这应该不是问题。一旦时间为 12:00,您就可以再次激活该作业。

如果您需要更多帮助,请立即联系我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2011-11-01
    相关资源
    最近更新 更多