Skip to content

Pipeline Scheduler

Available in Enterprise and On-premise versions


In GitFlic, you can schedule custom pipeline executions.

This functionality is handled by the Pipeline Scheduler, accessible by clicking the Pipeline Scheduler button on the CI/CD page.


Project Schedules

You'll be taken to the pipeline schedules page, which displays all created schedules for the project along with their details:
- Active status: Active / Inactive — indicates whether pipelines will be created according to this schedule or if creation is paused.
- Target: The branch or tag on which the pipeline will run.
- Schedule: The pipeline creation schedule in 5-field cron format.
- Author: The user who created the schedule.
- Description: The provided description.

You can pause (or resume), modify, or completely delete a schedule.


Automatic Pipeline Creation

The scheduler is responsible for pipeline creation.

By default, it wakes up every 5 minutes and launches the most relevant pipelines that should have been created during that time.

If more time has passed since the scheduled pipeline execution time than specified in the relevant property, and the pipeline still hasn't been created, it will be skipped.

Example:
- A pipeline is scheduled for 7:30 daily (30 7 * * *).
- The service (or schedule) was down overnight and only started at 8:10.

By default, the pipeline will be skipped.
If the relevant property is set to 40 or higher, this pipeline will be executed at 8:10.

By default, a single project can have no more than 50 scheduled pipelines per day.

Property Purpose Default Value
gitflic.ci-cd.scheduled-pipeline.leader Enables the scheduler on a specific instance. Enabled by default. true
gitflic.ci-cd.scheduled-pipeline.limit-per-day Maximum number of pipelines per day across all schedules for a single project. 50
gitflic.ci-cd.scheduled-pipeline.latency-minutes Maximum allowed time between the scheduled and actual start of pipeline preparation. 5
gitflic.ci-cd.scheduled-pipeline.scheduler-cron Scheduler wake-up schedule. Specified in 6-field cron format (starting with seconds). 1 0/5 * * * *

Creating a New Schedule

To create a new schedule, click the "New Schedule" button in the top-right corner.

Target

Specify the target branch or tag — the scheduler will select the most recent commit at the time of pipeline creation.

Configuration File

Specify the .yaml configuration file to be used by the agent.
This file can differ from the standard one and can be unique for each schedule.

For example, you can specify a custom.yaml file that will be used by all pipelines in this schedule, regardless of the project's default configuration.

Cron Schedule

Specify the pipeline creation schedule in cron format. GitFlic supports 5-field cron format:

  • Minute
  • Hour
  • Day of month
  • Month
  • Day of week

For more details:
- man
- Spring

If you need a time zone other than your default system time zone, you can explicitly select the desired one.

CI/CD Variables

Predefined CI/CD Variable

For each scheduled pipeline, a global variable is set:
CI_PIPELINE_SOURCE: schedule

Custom Variables

Each schedule can have custom CI/CD variables configured. These take precedence over the project's regular CI/CD variables.

For example, if the project has a variable INFO: Regular pipeline, and the schedule has INFO: Morning master test pipeline, the scheduled pipeline will use Morning master test pipeline, while regular pipelines will use Regular pipeline.


Schedule Settings

All specified fields, including variables, can be modified later on the schedule's page by clicking the three dots and navigating to the edit page.

The active status does not change during this action. Be careful when editing an active schedule — it will immediately continue operating according to the new schedule after saving changes.

Automatic translation!

This page has been automatically translated. The text may contain inaccuracies