Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. CI/CD: Параллельный запуск и шардирование
ci_cd_github_actions_parallel

CI/CD: Параллельный запуск и шардирование

GitHub Actions: параллельный запуск тестов, шардирование, кеширование Docker-образов. Из 10 минут в 2 минуты

Параллельный запуск сокращает время CI с 10 минут до 2-3 минут.

Цель: Настроить production-ready CI/CD с параллелизмом.

Базовый GitHub Actions workflow

# .github/workflows/test.yml name: Tests on: push: branches: [main, develop] pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install dependencies run: | pip install -r requirements.txt pip install pytest pytest-xdist - name: Run tests in parallel run: | pytest -n auto -v

Sharding: разделение тестов

# .github/workflows/test.yml jobs: test: runs-on: ubuntu-latest strategy: matrix: shard: [1, 2, 3, 4] # 4 параллельных job steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install dependencies run: pip install -r requirements.txt - name: Run test shard ${{ matrix.shard }} run: | pytest --splits 4 --group ${{ matrix.shard }} -v

Кеширование dependencies

- name: Cache pip packages uses: actions/cache@v3 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Install dependencies run: pip install -r requirements.txt

Проверьте свои знания

Вопросы ещё не добавлены

Вопросы для этой подтемы ещё не добавлены.

Далее: CI/CD: Автоматическая детекция Flaky Tests