crontool
Paste a schedule, read it in English, see the next runs.

GitLab CI Pipeline Schedule Cron

GitLab CI scheduled pipelines use the standard five-field cron format in the Interval Pattern field. You pick a timezone in the same dialog, and GitLab runs the pipeline on that cron in the chosen zone.

Where to set it

Project → Build → Pipeline schedules → New schedule. The Interval Pattern is a 5-field cron expression. Nightly at 02:00: 0 2 * * *. Every weekday at 07:00: 0 7 * * 1-5.

Timezone

The schedule dialog has a Cron timezone dropdown. The expression is evaluated in that zone — set it to your team's timezone instead of UTC if you want local run times.

Guard jobs in .gitlab-ci.yml

Use rules to run certain jobs only on schedules: rules: - if: '$CI_PIPELINE_SOURCE == "schedule"'. This keeps heavy nightly jobs out of normal push pipelines.

Minimum interval

On shared runners the effective minimum is often hourly; sub-hourly schedules may be throttled. Check your instance's cron worker frequency.

FAQ

What cron format does GitLab CI use for schedules?

Standard 5-field cron (minute hour day month day-of-week) in the Interval Pattern field, with a timezone chosen in the same dialog.

How do I run a job only on a schedule in GitLab CI?

Add rules: - if: '$CI_PIPELINE_SOURCE == "schedule"' to that job so it runs on scheduled pipelines but not on normal pushes.

Why doesn't my every-minute GitLab schedule run that often?

GitLab's cron worker typically polls hourly on shared setups, so sub-hourly schedules are throttled. The minimum useful interval is usually one hour.