>_ IzzyLab

Практическое задание

GitLab CI: правило rules/if

средне

В /root/.gitlab-ci.yml опиши джоб unit (стадия test), который запускается только на ветке main — через rules с условием if.

Что потренируешь:
  • gitlab ci
  • rules
  • ci_commit_branch
  • условный запуск
  • yaml

Разбор темы

rules — современная замена устаревшим only/except: это список условий, GitLab проверяет их сверху вниз и первое совпавшее решает судьбу job'а. Важный нюанс — если не совпало ни одно правило, job вообще не попадает в пайплайн (тихий пропуск, а не ошибка). Каждый элемент содержит if: с выражением над предопределёнными переменными ($CI_COMMIT_BRANCH — имя текущей ветки) и опционально when:; условие берут в одинарные кавычки, чтобы YAML не пытался разобрать его содержимое.

Что проверяется

  1. YAML синтаксически валиден
  2. rules/if по ветке main

Как это выглядит