Как настроить 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. Дополнительные возможности
- Кэширование зависимостей для ускорения сборки: 
cache:
  paths:
    - .venv/- Использование разных образов Docker для job через - image.
- Ограничение запуска job на конкретной ветке: 
only:
  - mainИтог:
- Pipeline — это последовательность стадий для автоматизации CI/CD. 
- Job — отдельная задача, выполняемая на агенте CI/CD. 
- Настройка производится в файле - .gitlab-ci.yml, где указываются стадии, скрипты, зависимости, артефакты и условия запуска.
Last updated
Was this helpful?
