Стоимость CI/CD пайплайнов: как рассчитать? Калькулятор
- Средняя стоимость минуты CI/CD в GitHub Actions (Linux) — $0.008, в GitLab — $0.003.
- Использование Spot-инстансов для агентов снижает затраты на 70-90%.
- Кэш зависимостей сокращает время сборки на 60% и уменьшает расходы в 2,5 раза.
- Типичный микросервис в конвейере 5 этапов обходится в $12–18 в месяц при 50 коммитах.
- Переход на саморазмещённые раннеры окупается за 3-4 месяца при нагрузке >200 сборок в день.
- Формула стоимости CI/CD пайплайна
- Сравнение стоимости популярных CI/CD платформ (цены 2026)
- Пример расчёта шаг за шагом: микросервис на Python
- Подводные камни и скрытые расходы
- Оптимизация затрат: стратегии и инструменты
- Частые ошибки при расчёте и как их избежать
- Как отлаживать стоимость пайплайна через мониторинг
Формула стоимости CI/CD пайплайна
Расчёт базируется на трёх метриках: время выполнения, стоимость единицы ресурса и количество запусков. Базовая формула:
Где: T — время этапа в минутах, C_resource — цена минуты вычислительного ресурса (долл./мин), N_runs — количество запусков за период. Если используете SaaS, C_resource фиксирована тарифом. На self-hosted раннерах стоимость складывается из аренды сервера (обычно ~$0.005/мин для среднего инстанса) + электроэнергия + администрирование.
Важно: не забывайте про накладные расходы — время ожидания в очереди (queue time) и простой idle-агентов. На практике они добавляют 5-15% к чистому времени сборки. Для точности используйте среднее время пайплайна за последний месяц.
Сравнение стоимости популярных CI/CD платформ (цены 2026)
| Платформа | Цена минуты (Linux) | Бесплатный лимит | Self-hosted |
|---|---|---|---|
| GitHub Actions | $0.008 | 2000 мин/мес | Да |
| GitLab CI | $0.003 | 400 мин/мес | Да |
| CircleCI | $0.006 | 6000 мин/мес | Да |
| Jenkins (on-prem) | $0.002-0.005 (оценка) | Нет | — |
Цены актуальны на июль 2026. GitHub Actions берёт плату за каждую запущенную минуту, включая очередь. GitLab CI дешевле, но лимит бесплатных минут мал. Для on-prem Jenkins добавьте стоимость железа и администрирования — часто выходит дешевле при >500 сборок/день.
Пример расчёта шаг за шагом: микросервис на Python
Допустим, проект: 2 разработчика, 50 коммитов в месяц, пайплайн из 3 этапов:
- build: 2 мин, зависимости — pip install — 1 мин (не кэшировано)
- test: 5 мин юнит-тесты, 3 мин интеграционные
- deploy: 1 мин на staging
Общее время: 11 мин. На GitHub Actions стоимость: 11 × 50 × $0.008 = $4.40/мес. Если добавить кэш зависимостей, build сократится до 1 мин, итого 9 мин × 50 × $0.008 = $3.60 — экономия 18%. На GitLab CI: 11 × 50 × $0.003 = $1.65.
Но! Если вы превысили бесплатный лимит GitHub Actions (2000 мин), каждый дополнительный коммит платный. В нашем случае 550 минут < 2000, так что $0.
Совет: всегда включайте кэш. В GitHub Actions этоactions/cache, в GitLab —cache: key: .... Пример:
jobs:
build:
steps:
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
- run: pip install -r requirements.txt- 1Измерьте время пайплайна
Суммируйте все этапы (build, test, deploy) из логов CI/CD
- 2Определите цену ресурса
Для SaaS — тариф за минуту, для self-hosted — стоимость инстанса/минута
- 3Умножьте на количество запусков
Учтите все коммиты, PRs, ночные сборки за месяц
- 4Добавьте накладные расходы
Очередь, хранение артефактов, трафик, административные затраты
Подводные камни и скрытые расходы
- Idle-агенты: Self-hosted раннеры, работающие 24/7, платятся за простой. Оптимизация — auto-scaling по запросам.
- Очередь на раннерах: Если параллельных сборок больше, чем агентов, время ожидания = деньги. Мониторьте
queue_time. - Сложность пайплайна: parallel stages не всегда быстрее — если один шаг долгий, параллелизм не экономит.
- Хранение артефактов: GitHub Actions хранит артефакты 90 дней бесплатно (до 2 ГБ), превышение платно. Чистите старые.
- Регионы: Цены за минуту могут отличаться по регионам (например, AWS сервер в us-east-1 дешевле, чем в eu-west-1).
✅ Чек-лист экономии на CI/CD
0 из 8
Оптимизация затрат: стратегии и инструменты
Используйте наш Калькулятор стоимости CI/CD пайплайнов, чтобы прикинуть разные сценарии. Основные приёмы экономии:
- Кэш зависимостей (см. пример выше).
- Spot/прерываемые инстансы для self-hosted: снижение на 70-90%, но сборка может прерваться в любое время — подходит для нерелизных сборок.
- Условное выполнение: запускать тесты только для изменённых модулей. GitLab supports цепочки правил.
- Уменьшение размера образа: используйте
--no-install-recommendsв apt, минимальные базовые образы. - Отложенный запуск: тесты интеграции запускать ночью по сниженным тарифам.
При переходе на self-hosted раннеры используйте «Калькулятор стоимости CDN» для оценки трафика, если загружаете артефакты внешним пользователям.
Частые ошибки при расчёте и как их избежать
- Ошибка 1: берут среднее время без учёта queue time. Решение — вытащить метрику из логов платформы (например,
workflow.duration+workflow.queue_timeв GitHub API). - Ошибка 2: забывают про хранение артефактов и логов. GitHub Actions хранит логи 400 дней, артефакты 90. Удаляйте неактуальные.
- Ошибка 3: не учитывают стоимость сети (передача данных). Если пайплайн тянет крупные образы с registry, плата за egress. Используйте частные реестры с кэшем.
- Ошибка 4: считают только один пайплайн. На самом деле ветки, PRs, nightly — всё множится. Усредняйте по всем потокам.
Чтобы автоматизировать подсчёт, используйте API провайдера. Пример для GitHub: curl -H "Authorization: token YOUR_TOKEN" https://api.github.com/repos/owner/repo/actions/workflows и парсите run_duration_ms.
Как отлаживать стоимость пайплайна через мониторинг
Внедрите метрики в CI/CD платформу:
- GitHub Actions: GitHub Apps + Actions Metrics API или сторонний сервис (Datadog, Grafana Cloud).
- GitLab: built-in CI/CD analytics → «Pipeline minutes usage».
- CircleCI: Insights → Credit Usage.
- Self-hosted: Prometheus + Grafana, собирайте кастомные метрики —
job_duration_seconds,job_queue_seconds.
Настройте алерты: если затраты на пайплайн превышают ожидание (например, >$0.01 за сборку), исследуйте причину — может, утек кэш или ошибка в конфиге.
Для оценки других ресурсов используйте Калькулятор стоимости лида (если CI/CD часть воронки). Для садоводов — «Калькулятор стоимости сада» и «Калькулятор стоимости семян» не по теме, но хорошо дополнят экосистему.
🧮 Посчитайте сами — инструменты по теме
🧭 Разделы по теме
Частые вопросы
Как посчитать стоимость CI/CD пайплайна в GitHub Actions?
Суммируйте время всех этапов (в минутах), умножьте на $0.008 (цена минуты Linux) и на количество запусков за месяц. Не забудьте про бесплатный лимит 2000 минут.
Сколько стоит минута GitLab CI в 2026?
Для Linux — $0.003 за минуту, Windows — $0.005. Бесплатный лимит 400 минут на пользователя.
Что выгоднее: GitHub Actions или self-hosted Jenkins?
При нагрузке 1000 минут/месяц — self-hosted обычно дешевле при стоимости $0.002–0.005 за минуту.
Почему стоимость пайплайна может резко вырасти?
Чаще всего из-за отсутствия кэша (зависимости качаются заново), увеличения частоты коммитов или перехода с Linux на Windows-агенты (в 2-3 раза дороже).
Нужно ли платить за время ожидания в очереди?
Да, большинство SaaS-провайдеров (GitHub, GitLab) включают время ожидания в вычисление минут. В self-hosted очередь не оплачивается отдельно.
Как сэкономить на артефактах?
Установите короткий TTL (например, 7 дней для нерелизных сборок) и используйте внешнее хранилище с дешёвым egress (Backblaze B2 или Cloudflare R2).
Есть ли калькулятор для точного расчёта?
Да, используйте наш «Калькулятор стоимости CI/CD пайплайнов» на сайте. Он учитывает параметры SaaS и self-hosted.
Сколько реально можно сэкономить на CI/CD в месяц?
При правильной оптимизации (кэш, spot, auto-scaling) — 30-50% от текущих затрат. Для компании с 10 разработчиками это $100-200/мес.
Источники и нормативные документы
- GitHub Actions Billing
- GitLab CI Cost Guide
- CircleCI Pricing
- AWS Spot Instances