Escaping the Cloud: How Five Repositories Stopped Sharing One Minute Limit
Описание и применение
Перенос CI из GitHub Actions на собственный виртуальный сервер позволил пяти приватным репозиториям избежать ограничения бесплатных минут, обеспечив изолированные и воспроизводимые сборки.
Задача
Free GitHub Actions minutes were exhausted by five separate pipelines after splitting a monorepo, forcing the team to find an alternative CI solution.
Результат
Reduced CI minutes consumption to zero by moving to a self‑hosted runner, achieving isolated, reproducible builds for five private repositories.
Рабочий процесс
- 1. Deploy Ubuntu VM in VirtualBox on a Windows laptop. 2. Configure VM with NAT to isolate from host network. 3. Before each job, script rolls VM back to a clean snapshot. 4. Register runner with --ephemeral flag. 5. Run custom REST API polling script to manage VM lifecycle. 6. Use watchdog script to monitor and restart supervisor if frozen.
- 7. Unregister orphaned runners via API script after each job.
Доказательства
We flatly refused to buy extra cloud minutes and deployed our own self-hosted runner on a standard Windows office laptop.
Before every new job, a script ruthlessly rolled the virtual machine back to a clean snapshot.
- Дата записи: 2026-09-22T16:15:53.206Z