Sobes.tech
Back to questions
Senior
6

Что такое rules в GitLab CI? Для чего используется workflow?

Companies where asked
WildberriesWildberries

Answer from AI

sobes.tech AI

В GitLab CI rules — это гибкий механизм определения условий, при которых конкретная задача (job) запускается или пропускается. Они позволяют задавать логику на основе веток, переменных, событий и других параметров.

Например, можно настроить job так, чтобы он запускался только при пуше в ветку main или при наличии определённой переменной окружения.

workflow — это настройка, которая управляет запуском всего пайплайна целиком. С помощью workflow: rules можно определить, когда запускать или пропускать весь pipeline, основываясь на условиях.

Это полезно для оптимизации ресурсов, например, чтобы не запускать пайплайн на ветках с документацией или при изменениях, не влияющих на код.

Пример rules для job:

job:
  script: echo "Run job"
  rules:
    - if: '$CI_COMMIT_BRANCH == "main"'
      when: always
    - when: never

Пример workflow:

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