TT-QA

Концепция до инструмента

GitLab, Jenkins и исполнитель команд

Разберём, где лежит код в GitLab, где хранятся инструкции pipeline, и какой Runner или Jenkins Agent исполняет команды.

Pipeline — автоматизированный процесс из stages и jobs

Он может запускаться на push, merge request, по расписанию или вручную. Команды находятся внутри job. Например: скачать зависимости → запустить API-тесты → запустить E2E → сохранить отчёт → разрешить или запретить deploy.

Три вопроса к любому CI-инструменту

01

Где лежит код?

В Git-репозитории.

02

Где лежит инструкция?

В .gitlab-ci.yml или Jenkinsfile.

03

Кто выполняет команды?

GitLab Runner или Jenkins Agent.

GitLab · всё рядом

Репозиторий + CI-контроллер

GitLab видит push, читает .gitlab-ci.yml и ставит job в очередь GitLab Runner.

Jenkins · отдельный сервис

CI-контроллер подключён к Git

Jenkins получает webhook, читает Jenkinsfile из репозитория и ставит job в очередь Jenkins Agent.

Один смысл, три стека

TypeScript + Playwright

test-e2e:
  image: node:22
  script:
    - npm ci
    - npx playwright test

Демо-конфиг; персональная лаборатория появится позже

Python + pytest

test-api:
  image: python:3.12
  script:
    - pip install -r requirements.txt
    - pytest -q

Учебный пример; Python runner появится позже

Java + JUnit 5

test-api:
  image: gradle:8-jdk21
  script:
    - ./gradlew test

Учебный пример; Java runner появится позже

Проверка понимания

Код лежит в GitLab, а тесты запускает Jenkins. Возможно ли это?

Показать ответ

Да. GitLab хранит репозиторий, Jenkins подключается к нему и запускает pipeline.