Встречается на собеседованиях • сегодня

Как устроен CI/CD на прошлом проекте

На прошлом проекте использовали GitLab CI/CD. Конфигурация описывалась в .gitlab-ci.yml и включала несколько этапов:

  1. Linting & Tests - запуск flake8, mypy и pytest в контейнере с Python
yaml
test:
  image: python:3.9
  script:
    - pip install -r requirements.txt
    - flake8 .
    - mypy .
    - pytest -v
  1. Build - сборка Docker-образа и push в registry
yaml
build:
  stage: build
  script:
    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
  1. Deploy - развертывание в staging/prod через Ansible (триггерилось вручную для prod)

Ключевые особенности:

  • Запуск пайплайна на каждый push в ветки
  • Артефакты (тестовые отчеты) сохранялись между этапами
  • Переменные окружения (секреты) хранились в GitLab CI/CD variables
  • Для продакшена использовали ручное подтверждение (manual job)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы