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 for7:30
daily (30 7 * * *
).
- The service (or schedule) was down overnight and only started at8:10
.By default, the pipeline will be skipped.
If the relevant property is set to 40 or higher, this pipeline will be executed at8: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 hasINFO: Morning master test pipeline
, the scheduled pipeline will useMorning master test pipeline
, while regular pipelines will useRegular 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