Job и Pipeline
В контексте CI/CD (например, GitLab CI/CD или GitHub Actions) Pipeline и Job — это ключевые элементы организации автоматизации, но они находятся на разных уровнях.
1. Pipeline
Что это: это полный процесс автоматизации, который запускается при событии (push, pull request, merge request).
Состав: один pipeline может включать несколько этапов (stages), а в каждом этапе — несколько jobs.
Пример событий запуска pipeline: коммит в ветку, открытие Pull Request, расписание (cron).
Цель: объединить все задачи CI/CD в логическую цепочку, которая описывает весь процесс сборки, тестирования и деплоя.
2. Job
Что это: отдельная единица работы в pipeline.
Содержит: конкретную задачу, например:
сборка приложения,
запуск юнит-тестов,
деплой на staging,
линтинг кода.
Выполнение: job выполняется на агенте CI/CD и может запускаться параллельно с другими job или последовательно, в зависимости от stage.
Пример структуры (GitLab CI/CD)
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- make build
test_job:
stage: test
script:
- pytest tests/
deploy_job:
stage: deploy
script:
- ./deploy.sh
Pipeline — вся структура с тремя стадиями.
Job —
build_job
,test_job
,deploy_job
.Этапы (
stages
) определяют порядок выполнения jobs.
Итог
Pipeline — весь процесс CI/CD от коммита до деплоя.
Job — отдельная задача внутри pipeline.
Один pipeline может содержать много stages и десятки job.
Last updated
Was this helpful?