TGViewer
DevOps DevOps @i_devops · 8.81K subscribers
Post #3919 1.36K
🚀 Ускоряем CI/CD пайплайны на GitHub Actions: кеширование по-взрослому

CI тормозит? Пайплайн гоняет npm install по 5 минут? Пора серьёзно поговорить о кешировании в GitHub Actions.


GitHub Actions — мощный инструмент, но без кеша даже самый простой билд превращается в черепаху. Разберёмся, как грамотно использовать actions/cache, чтобы выжать максимум скорости.

🔧 Основы кеширования

GitHub предоставляет официальный экшен actions/cache, который позволяет сохранять каталоги между запусками воркфлоу. Ключевое понятие здесь — ключ кеша (cache key).

Пример:


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


Что тут происходит:
- path — папка, которую кешируем (`~/.npm`).
- key — уникальный ключ, зависящий от lock-файла.
- restore-keys — запасной вариант, если точного совпадения ключа нет.

⚡ Трюки для ускорения

1. Разделяй кеш по задачам. Не пихай всё в один архив. Кешируй отдельно npm, node_modules, dist/ — это гибко и эффективно.

2. Для Docker-образов — кешируй слои. Используй BuildKit и флаг --cache-to, --cache-from. Пример:


- name: Build Docker image
run: |
docker buildx build \
--cache-from=type=gha \
--cache-to=type=gha,mode=max \
-t my-app .


3. Осторожно с ключами. Часто меняющийся ключ = каждый раз новый кеш = медленно. Сделай разумный баланс между стабильностью и свежестью.

4. Тестируй локально. Используй act, чтобы отлаживать воркфлоу на локалке — сэкономишь время и нервы.


✅ Вывод

Кеш в GitHub Actions — не волшебная пуля, но при правильной настройке он может сократить время CI в разы. Следи за размером кеша, обновляй ключи с умом и профилируй пайплайн. И не забывай: кеш — твой друг, пока ты его контролируешь.

#devops #девопс

📲 Мы в MAX

Подпишись 👉@i_DevOps
  • 👍 5
More from @i_devops
  1. Sep 22, 2026🚀 Шпаргалка по Docker 🐳 🔹 Сборка (Build) 🔹 Запуск (Run) 🔹 Шаринг (Share) 🔹 Управлени…
  2. Sep 21, 2026DevOps практикум 1 - Базовая автоматизация с использованием ANSIBLE 2 - Создаем роли ANSIB…
  3. Sep 20, 2026🍔DevOps как бургер (DaaB) Дорожная карта DevOps-инженера должна выглядеть так: 1. Изучите…
  4. Sep 18, 2026Автоматизация платформы не отбирает у вас интересные задачи. Она забирает рутину. Deckhous…
  5. Sep 17, 2026💡Большая шпаргалка по Linux Storage Stack ➡️оригинал файла в комментах #devops #девопс 📲…
  6. Sep 17, 2026Этот файл был удален пользователем Встречаемся в Москве с теми, кто отвечает за хранение д…
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 →