>_ IzzyLab

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

GitLab CI: наследование через extends

средне

В /root/.gitlab-ci.yml опиши скрытый шаблон-джоб .baseimage и before_script) и джоб test, который наследует его через extends.

Что потренируешь:
  • gitlab ci
  • extends
  • шаблоны джобов
  • наследование
  • yaml

Разбор темы

extends в GitLab CI переиспользует конфигурацию job'а без копипасты: наследник забирает все поля родителя и может часть переопределить своими. Мапы мёржатся рекурсивно, а вот одноимённые списки (например script) не дописываются, а полностью заменяются значением наследника. Шаблоны принято прятать от запуска: job, чьё имя начинается с точки, GitLab не считает настоящим и в пайплайн сам по себе не добавляет — это заготовка исключительно под extends.

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

  1. YAML синтаксически валиден
  2. test наследует .base

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