Skip to content

CI

CI - не прерывная интеграция рабочих копий в основную ветку. При там подходе можно автоматизировать проверку каждого коммита до слияния

Описывается в .yml в корне репозитория. Файл может имет дефолтное имя или нет, но при этом нужно явно указывать в настройка репозитория

Самые популярные CI-серверы GitHub Actions, GitLab CI, Jenkins

Словарик

Pipeline

  • Pipeline (от англ. pipeline — «трубопровод», «конвейер») - четко определенная последовательность этапов или процессов

Stage

  • Stage - этап, на котором логически объеденены группы задач(Jobs)

Jobs

  • Jobs - выполняемая задача

Пример Ci

stages:
  - lint
  - build
  - test

lint_code:
  stage: lint
  script:
    - npm run lint

build_app:
  stage: build
  script:
    - npm run build

unit_tests:
  stage: test
  script:
    - npm run test

Описание примера

stages:
  - lint
  - build
  - test

В блоке stages указаны этапы pipeline, они будут выполнятьс в том порядке, котором указаны. В данном примере 3 этапа

lint_code:
  stage: lint
  script:
    - npm run lint
Джоба Jobs

  • Первая строка имя джобы
  • Вторая строка указывает, на каком этапе будет выполняться джоба
  • Треться строка, объявлен блок скриптов
  • Четвертая строка выполняемые скрипты: установка библиотек, запуск кода, выполнение bash-скриптов