workflow
Control when a pipeline is created and set pipeline-level settings.
Supported: rules, rules:variables, rules:auto_cancel, name, auto_cancel:on_new_commit, auto_cancel:on_job_failure
Examples
Pipeline name
workflow:
name: "E2E Test Pipeline"
job:
script: echo "job"
Run only on default branch
workflow:
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
job:
script: echo "job"
Set variables per condition
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
variables:
DEPLOY_ENV: staging
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
job:
script: echo "job"
Auto-cancel interruptible jobs on new commit
workflow:
auto_cancel:
on_new_commit: interruptible
job:
interruptible: true
script: sleep 60
Auto-cancel via rules
workflow:
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
auto_cancel:
on_new_commit: interruptible
job:
script: echo "job"