Как настроить Job или Pipeline на знакомом вам CI-инструменте?
Рассмотрим пример настройки Pipeline и Job на популярном CI-инструменте GitLab CI/CD, так как он часто используется в корпоративной разработке.
1. Создаём файл .gitlab-ci.yml
.gitlab-ci.ymlФайл находится в корне репозитория и описывает pipeline и job.
# Определяем стадии (stages)
stages:
- build
- test
- deploy
# Job для сборки
build_job:
stage: build
image: python:3.11
script:
- pip install -r requirements.txt
- python setup.py build
artifacts:
paths:
- dist/
# Job для тестирования
test_job:
stage: test
image: python:3.11
script:
- pip install -r requirements.txt
- pytest tests/
# Job для деплоя (пример на staging)
deploy_job:
stage: deploy
script:
- echo "Deploying to staging server..."
when: manual # запуск вручную2. Как это работает
Pipeline запускается при каждом коммите в ветку (по умолчанию
push).Pipeline состоит из трёх стадий (
stages):build,test,deploy.В каждой стадии выполняется Job:
build_job— собирает проект, создаёт артефакты.test_job— запускает автоматические тесты.deploy_job— выполняет деплой (можно ручной черезwhen: manual).
Jobs внутри одной стадии могут выполняться параллельно, стадии выполняются последовательно.
3. Дополнительные возможности
Кэширование зависимостей для ускорения сборки:
Использование разных образов Docker для job через
image.Ограничение запуска job на конкретной ветке:
Итог:
Pipeline — это последовательность стадий для автоматизации CI/CD.
Job — отдельная задача, выполняемая на агенте CI/CD.
Настройка производится в файле
.gitlab-ci.yml, где указываются стадии, скрипты, зависимости, артефакты и условия запуска.
Last updated
Was this helpful?