TGViewer
DevOps DevOps @i_devops · 8.83K subscribers
Post #2847 1.58K
CI/CD в 3 раза быстрее: секреты оптимизации GitHub Actions

GitHub Actions — мощный инструмент, но даже продвинутые пайплайны часто работают медленнее, чем могли бы. Потери времени = потери денег и developer experience. Вот как ускорить ваши воркфлоу без потери функциональности.

1. Используйте concurrency и cancel-in-progress

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true


Это позволит отменять старые запуски одного и того же воркфлоу на той же ветке — особенно полезно при пушах в PR. Экономим минуты на каждом коммите.

2. Кешируйте всё, что можно

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


То же касается node_modules, cargo, .m2, gradle — любые зависимости можно кэшировать, особенно если они скачиваются каждый раз.

3. Не бойтесь matrix + fail-fast: false

Запускайте параллельно всё, что можно: тесты на разных версиях языка, разных ОС, разных архитектурах.

strategy:
matrix:
python-version: [3.10, 3.11]
os: [ubuntu-latest, macos-latest]
fail-fast: false



4. Reusable workflows > копипаста

Выносите повторяющиеся шаги в отдельные .yml-воркфлоу и переиспользуйте их через workflow_call. Это упрощает поддержку и уменьшает ошибки.

5. Запускайте воркфлоу только при нужных событиях

on:
push:
branches: [main]
paths:
- 'src/**'
- '.github/workflows/**'


Зачем триггерить CI, если изменился только README?

Вывод:
Оптимизация CI/CD — это не про «поиграться с YAML». Это способ сэкономить время команды, ускорить релизы и избежать выгорания из-за бесконечного ожидания. Чем быстрее обратная связь — тем лучше продукт.

#devops #девопс

Подпишись 👉@i_DevOps
  • 👍 4
More from @i_devops
  1. Oct 9, 2026LLM сжигает токены, security gate задерживает релиз, секреты нужно восстановить после сбоя…
  2. Oct 8, 2026Docker изнутри: исчерпывающее руководство. Механизмы контейнеризации + примеры, эксперимен…
  3. Oct 7, 2026Тренировки по DevOps. Часть 2 Лекция 7: Сети. Часть 2. Коробки и коты Лекция 8: Как запуст…
  4. Oct 7, 2026💻Практический вебинар «СТРАТЕГИЯ РЕЗЕРВНОГО КОПИРОВАНИЯ» 📹 15 октября в 11:00 Мск за 90…
  5. Oct 6, 2026Тренировки по DevOps. Часть 1 Лекция 1: Кто такой DevOps Лекция 2: Облако. Кто виноват и ч…
  6. Oct 5, 2026k8s-cleaner — это утилита для автоматической очистки ресурсов Kubernetes, которые больше н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →