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

Эта задача — шаг 3 курса «GitLab на практике»

Первый настоящий пайплайн

средне~20 мин

В проекте app (клон в /root/app, вход в веб — на вкладке «GitLab») есть скрипт сборки build.sh и тест сборки test.sh, а CI нет. Раннер для проекта уже подключён.

Напиши .gitlab-ci.yml с двумя этапами: build, затем test. На этапе build джоба build запускает ./build.sh и сохраняет каталог dist/ как артефакт. На этапе test джоба test запускает ./test.sh.

Запушь в main и добейся зелёного пайплайна. Ход выполнения смотри в веб-интерфейсе GitLab.

Что потренируешь:
  • GitLab CI
  • stages
  • artifacts
  • пайплайн

Разбор темы

Пайплайн описывается файлом .gitlab-ci.yml в корне репозитория: stages задаёт порядок этапов, а каждая джоба — ключ верхнего уровня со stage и script. Джобы изолированы друг от друга: каждая получает свежую копию репозитория. Поэтому результат сборки передают дальше через artifacts: GitLab сохраняет указанные пути после джобы и раздаёт их джобам следующих этапов.

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

  1. .gitlab-ci.yml есть в main
  2. Последний пайплайн на main — зелёный
  3. Джоба build на этапе build прошла
  4. Джоба test на этапе test прошла
  5. build сохраняет артефакт

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