Как настроить базовый CI/CD пайплайн в GitLab

Ответ

CI/CD в GitLab настраивается с помощью файла .gitlab-ci.yml в корне репозитория. Этот файл определяет структуру и последовательность выполнения задач (jobs) в пайплайне.

Основными компонентами являются:

  • stages: Определяют этапы пайплайна (например, test, build, deploy). Задачи одного этапа могут выполняться параллельно, а этапы выполняются последовательно.
  • jobs: Конкретные задачи, выполняющие скрипты. Каждая задача привязана к определенному stage.

Пример .gitlab-ci.yml:

# Определение последовательности этапов
stages:
  - test
  - build
  - deploy

# Задача для этапа тестирования
run_tests:
  stage: test
  script:
    - echo "Running tests..."
    - pytest

# Задача для сборки Docker-образа
build_image:
  stage: build
  script:
    - echo "Building Docker image..."
    - docker build -t my-app:latest .
    - docker push my-registry/my-app:latest
  only:
    # Запускать только для коммитов в ветку main
    - main

# Задача для развертывания приложения
deploy_app:
  stage: deploy
  script:
    - echo "Deploying to production..."
    - kubectl apply -f k8s/
  only:
    - main

Этот пайплайн автоматизирует тестирование кода при каждом коммите, а также сборку и развертывание приложения при изменениях в ветке main.