Skip to content

Instantly share code, notes, and snippets.

@jizhilong
Created December 22, 2021 07:52
Show Gist options
  • Save jizhilong/a3e202ae4c2cffd6f7a179cebd10155c to your computer and use it in GitHub Desktop.
Save jizhilong/a3e202ae4c2cffd6f7a179cebd10155c to your computer and use it in GitHub Desktop.
gitlab ci job rules cheat sheet

only if

only master branch

rules:
  - if: '$CI_COMMIT_BRANCH == "master"'
    when: always
  - when: never

only tags

rules:
  - if: '$CI_COMMIT_TAG'
    when: always
  - when: never

only protected branches/tags

rules:
  - if: '$CI_COMMIT_REF_PROTECTED == "true"'
    when: always
  - when: never

only merge requests

rules:
  - if: '$CI_MERGE_REQUEST_IID'
    when: always
  - when: never

except if

never run for schedules/cron jobs

rules:
  - if: '$CI_PIPELINE_SOURCE == "schedule"'
    when: never
  - when: always

complex if

run only if any changes under stg direcoty on master branch

rules:
  - if: '$CI_COMMIT_BRANCH == "master"'
    changes:
      - stg/*
    when: always
  - when: never
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment