是否可以在不到一个小时的时间内调度gitlab管道?

pig*_*box 4 cron pipeline gitlab

我尝试设置每20分钟运行一次的计划管道。我*/20 * * * *在设置中使用了自定义的cron语法(),但是gitlab不支持此设置,而是仍然每小时运行一次。

这是gitlab错误还是我错过了什么?

Von*_*onC 6

查看GitLab时间表:它确实提到:

由于调度是由Sidekiq处理的,因此不会精确执行管道,Sidekiq根据其间隔运行。

例如,如果您设置了创建每分钟(* * * * *)的管道的时间表,并且Sidekiq工作者每天在00:00和12:00(0 */12 * * *)运行,则每天将仅创建2个管道。

要更改Sidekiq worker的频率,您必须在其中编辑pipeline_schedule_worker_crongitlab.rb并重新启动GitLab。

  • 谢谢!那行得通,我的最后一步是`gitlab-ctl reconfigure`而不是`restart`,因为我使用的是综合版本。 (2认同)

rab*_*rab 5

12.8.X 的新方式

\n\n

要更改 Sidekiq worker\xe2\x80\x99s 频率:\n编辑实例\xe2\x80\x99s gitlab.rb中的gitlab_rails[\'pipeline_schedule_worker_cron\']值值。\n我从 gitlab.rb 检查的确切行文件是

\n\n
# gitlab_rails[\'pipeline_schedule_worker_cron\'] = "19 * * * *"\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,取消注释该行,例如每分钟运行一次即可。

\n\n
gitlab_rails[\'pipeline_schedule_worker_cron\'] = "* * * * *"\n
Run Code Online (Sandbox Code Playgroud)\n\n

重新配置 GitLab 以使更改生效。\n然后转到作业并将其添加到您的作业计划中,在本例中它将每 5 分钟运行一次:

\n\n
*/5 * * * *\n
Run Code Online (Sandbox Code Playgroud)\n\n

旧版本 10.xx 的好方法是。\n编辑实例中的gitlab_ci[\'schedule_builds_minute\'] = "0"值\xe2\x80\x99s gitlab.rb文件

\n\n

请查看官方页面,它正在更改\n https://docs.gitlab.com/ce/user/project/pipelines/schedules.html#advanced-configuration

\n