Solução

VPS para runners CI/CD autoalojados (GitHub Actions, GitLab, Woodpecker)

Cutter 16 · $62/moClipper 16 · $92/mo
Resposta curta

Runners autoalojados pagam-se rapidamente: um Cutter 16 por $62 por mês substitui vários milhares de minutos CI hospedados e compila mais rápido porque a cache é local. Quatro a seis núcleos dedicados e 16 GB lidam com a maioria das matrizes de compilação. Use NVMe — a instalação de dependências e a extração de camadas de contêiner são quase inteiramente limitadas por I/O.

O que precisa

Especificações mínimas para runners ci/cd
RecursoO que realmente precisa
CPU4–8 núcleos dedicados; compilações paralelizam bem
RAM16 GB para uma matriz típica, 32 GB para monorepos grandes
Disco320 GB NVMe — caches, imagens e artefactos acumulam-se
KernelVirtualização aninhada para trabalhos baseados em contêiner e VM

Planos recomendados

Cutter

Cutter 16

$ 62 /month
vCPU
6 × dedicado
RAM
16 GB
Armazenamento
320 GB NVMe SSD
Transferência
15 TB
IPv4 / IPv6
1 / /64 routed
Configurar
Clipper

Clipper 16

$ 92 /month
vCPU
8 × dedicado
RAM
16 GB
Armazenamento
400 GB NVMe Gen4 SSD
Transferência
30 TB
IPv4 / IPv6
1 / /64 routed
Configurar
Clipper

Clipper 32

$ 174 /month
vCPU
12 × dedicado
RAM
32 GB
Armazenamento
800 GB NVMe Gen4 SSD
Transferência
40 TB
IPv4 / IPv6
1 / /64 routed
Configurar

Localizações recomendadas

A localização é geralmente a decisão que mais importa para esta carga de trabalho — seja porque a latência domina, seja porque a jurisdição domina.

Porquê a OnionVPS para isto

  • Virtualização aninhada significa que trabalhos baseados em Docker e VM funcionam ambos.
  • Caches de dependências locais em NVMe reduzem substancialmente os tempos de compilação típicos em comparação com um runner hospedado a frio.
  • Preço mensal fixo em vez de faturação por minuto que pune uma semana movimentada.
  • Sem verificação de conta, para que um runner possa ser provisionado por um script às três da manhã.

Como configurar

  1. Implemente um Cutter 16 com Ubuntu 24.04

    Seis núcleos e 16 GB cobrem a maioria dos projetos.

  2. Instale o agente runner

    GitHub Actions runner, gitlab-runner, ou Woodpecker dependendo da sua forja.

  3. Execute trabalhos em contêineres efémeros

    Um contêiner novo por trabalho impede que uma compilação envenene a seguinte.

  4. Persista as caches de pacotes fora do contêiner

    Monte diretórios do host para npm, cargo, pip e camadas Docker.

  5. Registe o runner e etiquete-o

    As tags permitem encaminhar tarefas pesadas para aqui e deixar as leves nos runners hospedados.

Perguntas frequentes

Um runner de CI self-hosted é mais barato do que minutos hospedados?

Quase sempre, a partir de poucos milhares de minutos por mês. Uma instância de $62 corre continuamente; CI hospedado cobra por minuto e volta a descarregar dependências em cada arranque a frio.

Posso executar builds Docker num runner self-hosted?

Sim. Virtualização aninhada e root completo fazem com que buildx, Docker-in-Docker e builds sem root funcionem todos.

Os runners self-hosted são seguros para repositórios públicos?

Apenas com runners efémeros e isolados. Um repositório público pode executar código arbitrário de um pull request, por isso nunca dê a esse runner acesso a segredos ou à sua rede interna.