Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 詹金斯:油门建立率_Jenkins_Jobs - Fatal编程技术网

Jenkins 詹金斯:油门建立率

Jenkins 詹金斯:油门建立率,jenkins,jobs,Jenkins,Jobs,使用Jenkins,是否可以将作业执行限制为在给定间隔内仅运行一次 例如,我需要配置一个昂贵的作业,该作业每小时执行不超过2次 注: 我无法使用静默期功能使其工作,因为它的计时器将在静默期间隔内的另一个生成触发器发生时重置。如果此类生成触发器发生的频率超过静默期的持续时间,则将永远无法生成。您始终可以将生成时间安排为每小时两次。一旦触发,手动检查是否有SCM更改。如果没有,则中止 编辑: 假设: 此作业是某种测试执行作业,其本身不依赖于SCM更改(但它可以作为作业的一部分更新SCM) 此作业不

使用
Jenkins
,是否可以将作业执行限制为在给定间隔内仅运行一次

例如,我需要配置一个昂贵的作业,该作业每小时执行不超过2次

注:

我无法使用静默期功能使其工作,因为它的计时器将在静默期间隔内的另一个生成触发器发生时重置。
如果此类生成触发器发生的频率超过静默期的持续时间,则将永远无法生成。

您始终可以将生成时间安排为每小时两次。一旦触发,手动检查是否有SCM更改。如果没有,则中止

编辑:
假设:

  • 此作业是某种测试执行作业,其本身不依赖于SCM更改(但它可以作为作业的一部分更新SCM)
  • 此作业不会从上游接收任何特殊的运行参数,否则您计划在所需的时间段内对两个不同的调用执行什么操作

你可以考虑<强> <强>插件。将“上游作业”配置为要监视的作业(不要配置上游作业的下游)。将cron选项卡配置为每30分钟运行一次

0,30****

如果希望在一小时内运行作业不超过2次,则可以使用轮询SCM触发器并将cron设置为H/30****。这将每30分钟执行一次计划检查。
注意-如果在这30分钟内没有任何更改,则不会触发生成。

1。如何配置“手动检查是否有SCM更改”2。如果作业是由(成功构建的)上游项目触发的,如何执行该操作?使用命令行上的脚本,取决于您的操作系统和对任何特定脚本语言的偏好可能您错过了评论中的第二点(对不起,我很快编辑了它)-我更喜欢无脚本解决方案,如果有的话(我认为)对于这样一个简单而常见的需求。那么,当此作业由上游项目触发,但距离上次执行时间不到30分钟时,您希望发生什么?当上游在30分钟的等待期内多次触发此作业时会发生什么情况?构建执行应该等到30分钟的等待期结束(类似于“静默期”功能)。30分钟内的多个上游触发器应导致两次生成执行:第一次触发器发生后立即执行一次,第二次在30分钟等待期后执行。即使源没有更改,仍要在一小时内运行作业两次吗?如果作业是由SCM触发的,则只有在有新提交时才应生成,但是,如果上一次构建在30分钟内完成,请等待。