Conditional Jobs and Pipelines
59%
Conditional Execution Based on Predefined Variables
We are going to start with simple examples using the if clause. The if clause allows you to run a job only when a condition is met. These conditions are usually based on predefined variables or custom variables you define in your .gitlab-ci.yml, project, group, or instance settings.
Example:
You want to run a job only when the branch name is main:
build_job:
stage: build
script:
- echo "running build_job"
rules:
- if: '$CI_COMMIT_BRANCH == "main"'
Example:
You want to run a job only when the branch name starts with feature/:
build_job:
stage: build
script:
- echo "running build_job"
rules:
- if: '$CI_COMMIT_BRANCH =~ /^feature\//'
Example:
You want to run a job only when the branch name is not main:
build_job:
stage: build
script:
- echo "running build_job"
rules:
- if: '$CI_COMMIT_BRANCH != "main"'
Example:
You want to run a job only when the branch name is main and the commit message contains the word deploy:
build_job:
stage: build
script:
- echo "running build_job"
rules:
- if: '$CI_COMMIT_BRANCH == "main" Cloud Native CI/CD with GitLab
From Commit to Production ReadyEnroll now to unlock all content and receive all future updates for free.
