TGViewer
DevOps DevOps @i_devops · 8.83K subscribers
Post #2842 1.42K
CI/CD как часы: 7 трюков для ускорения GitHub Actions 🚀

Иногда GitHub Actions начинает "плыть": воркфлоу, который вчера собирался за 5 минут, сегодня крутится 15+. Это не баг, а сигнал — пора оптимизировать пайплайн.

Вот подборка проверенных техник, чтобы ускорить и удешевить GitHub Actions без потери функциональности:


🔹 1. Используй actions/cache грамотно
Кэширование зависимостей (node_modules, .m2, vendor, pip) — простой способ ускорить билд на 30–70%.
Пример для npm:

- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-


🔹 2. Разделяй и властвуй: job matrix
Параллельный запуск на разных версиях языка или ОС:

strategy:
matrix:
node: [16, 18]
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}


🔹 3. Минимизируй checkout и ненужные шаги
Не всегда нужно тянуть весь git-репозиторий. Добавь:

- uses: actions/checkout@v4
with:
fetch-depth: 1


🔹 4. Self-hosted runners — когда билд тяжелый
Они быстрее, могут иметь предустановленные зависимости, и ты не платишь за минуты. Особенно актуально для Java и .NET проектов.

🔹 5. Используй workflow_dispatch для ручных прогонов
Иногда удобно запускать воркфлоу вручную — например, для релизов или прогонов e2e.

on:
workflow_dispatch:


🔹 6. Логируй аккуратно — логи тоже грузят
Слишком подробные логи замедляют UI и усложняют дебаг. Используй ::group:: и ::endgroup:: для логических блоков.

🔹 7. Закладывай timeouts
Иногда job висит из-за одного зависшего шага. Укажи timeout, особенно для e2e или deploy-джобов:

jobs:
build:
timeout-minutes: 15


Вывод:
GitHub Actions — мощный инструмент, но требует тонкой настройки. Оптимизация кэша, параллелизм, сокращение шагов и self-hosted runners могут сэкономить часы CI и сотни долларов на GitHub billing.

#devops #девопс

Подпишись 👉@i_DevOps
  • 👍 1
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 →