Alojamento de Jenkins, controlador e agentes separados

Um controlador Jenkins na sua própria máquina em Praga ou na Covilhã, com as compilações empurradas para agentes onde pertencem - o único conselho de dimensionamento que o projeto Jenkins dá e o que a maioria das instalações ignora.

Certificado Tier III ISO 9001 ISO/IEC 27001 ISO 14001 Conforme com o RGPD

Para quem é

Um Jenkins que vive debaixo da secretária de alguém

Compila desde 2019, ninguém se lembra de quais plugins importam, e todo o processo de lançamento depende de uma torre com um disco e sem cópia de segurança.

Um controlador que corre as suas próprias compilações

Foram atribuídos executores no controlador porque era mais fácil, e agora um job pesado leva a interface web atrás - o que a documentação do Jenkins classifica de má prática exatamente nesses termos.

Uma equipa que não pode passar para CI alojado

Doze anos de pipelines, um plugin que ninguém substituiu e um job que fala com hardware. O Jenkins não é o problema; a máquina por baixo é.

O que uma máquina própria lhe traz

  • Um controlador que continua a responder, porque as compilações correm em agentes e não naquilo que serve a interface web.
  • JENKINS_HOME em NVMe com um snapshot antes de cada atualização de plugins, para que a reversão sejam dois cliques e não uma noite inteira.
  • Agentes acrescentados como hosts separados e ligados por SSH ou pelo protocolo de entrada, dimensionados de forma diferente do controlador.
  • Um IPv4 estático do AS204057, para que um registo interno, um repositório de artefactos ou um destino de deploy possa autorizar o controlador pelo endereço.
  • Qualquer agente de que precise ao lado - Linux para as compilações, Windows Server com licença nossa quando um job o exigir.
  • Instalações Tier III, uma cópia de segurança incluída, e uma máquina que não depende do ar condicionado do escritório.

Dimensionado pelo que a pipeline faz de facto

O projeto Jenkins recusa deliberadamente publicar um único número de hardware, chama ao dimensionamento uma ciência inexata e coloca a memória do controlador algures entre 200 MB para uma instalação pequena e 70 GB ou mais para uma grande. O que diz com clareza é onde vai o trabalho: não atribua executores no controlador, porque uma compilação pode sobrecarregá-lo e deitá-lo abaixo. Dimensione portanto o controlador para a interface, os plugins e o histórico de jobs, e acrescente agentes para as compilações. Uma ressalva quanto à forma de faturação: um host mensal fixo custa o mesmo numa semana calma, onde os minutos de CI alojados não custam nada - o Jenkins costuma estar a correr quase todos os dias, que é precisamente quando isto ganha.

Um primeiro controlador
16.49
por mês

Encomendar agora
uma equipa pequena, agentes mais tarde
2 vCPU
8 GB RAM
80 GB NVMe
1 IPv4 estático
1 cópia semanal incluída
Um controlador com agentes
36.01
por mês

Encomendar agora
um controlador com espaço para histórico de compilações
4 vCPU
16 GB RAM
240 GB NVMe
1 IPv4 estático
1 cópia semanal incluída
Uma quinta de compilação
65.98
por mês

Encomendar agora
muitos jobs, muitos agentes, histórico longo
8 vCPU
32 GB RAM
320 GB NVMe
1 IPv4 estático
1 cópia semanal incluída

Como instalar o Jenkins em Debian ou Ubuntu

A linha LTS estável, do repositório do próprio projeto Jenkins, pela ordem que documentam. Java 21 ou posterior é um requisito, não uma sugestão.

  1. Instalar o Java

    sudo apt update
    sudo apt install fontconfig openjdk-21-jre
    java -version

    O Jenkins exige Java 21 ou posterior. O fontconfig vem com ele no comando documentado porque os plugins que desenham imagens falham de forma confusa sem ele.

  2. Adicionar o repositório LTS do Jenkins

    sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \
      https://pkg.jenkins.io/debian-stable/jenkins.io-2026.key
    echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \
      https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
      /etc/apt/sources.list.d/jenkins.list > /dev/null

    debian-stable é a linha LTS; o caminho debian simples é a semanal. A chave de assinatura é rodada, portanto tire o nome de ficheiro atual da página do Jenkins e não de um guia antigo.

  3. Instalar e arrancar

    sudo apt update
    sudo apt install jenkins
    sudo systemctl enable jenkins
    sudo systemctl start jenkins

    O Jenkins escuta na porta 8080 e corre com o seu próprio utilizador jenkins, com tudo o que interessa em /var/lib/jenkins. É essa pasta que se snapshota e se copia.

  4. Desbloquear o primeiro acesso

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword

    Abra o servidor na porta 8080 e cole esse valor. Não o deixe acessível a toda a internet enquanto o configura - ponha-o atrás do nosso gateway VPN, ou restrinja primeiro a porta 8080 ao endereço do seu escritório.

  5. Tirar as compilações do controlador

    # Manage Jenkins -> Nodes -> Built-In Node -> set executors to 0
    # then Manage Jenkins -> Nodes -> New Node for each agent host

    Este é o único conselho de dimensionamento que a documentação do Jenkins dá explicitamente: atribuir executores no controlador permite que uma compilação o sobrecarregue e o faça ir abaixo. Ponha o nó incorporado a zero executores e acrescente hosts de agente, que recomenda manter genéricos e intermutáveis em vez de talhados por job.

  6. Ligar um agente por SSH

    sudo -u jenkins ssh-keygen -t ed25519 -f /var/lib/jenkins/.ssh/agent
    sudo -u jenkins ssh-copy-id -i /var/lib/jenkins/.ssh/agent.pub jenkins@AGENT-HOST

    Adicione a chave privada como credencial SSH Username with private key e depois crie o nó com o método de arranque SSH. Cada ligação de agente custa ao controlador dois ou três threads e pouco mais de 2 MB, portanto um punhado de agentes não é o que dimensiona um controlador - são os plugins e o histórico de jobs.

Verificado na documentação oficial em 2026-08-15 — ler a fonte

O que não somos

  • Não somos o projeto Jenkins. O Jenkins é uma marca registada da Linux Foundation e o software é deles; nada aqui tem o aval deles. Vendemos a máquina onde corre.
  • Não mantemos os seus plugins. As atualizações de plugins são onde as instalações do Jenkins se partem, e quem sabe quais dos seus 60 plugins interessam está do seu lado - embora o snapshot antes de cada atualização esteja do nosso.
  • Não migramos os seus jobs como parte do preço. Ajudamos com a janela e com a cópia do JENKINS_HOME, e orçamentamos o resto se quiser que seja feito em vez de acompanhado.
  • Aqui não há um plano de controlo Jenkins gerido. Se quer que outra pessoa assuma inteiramente as atualizações, um produto de CI alojado é a resposta honesta, e isto não é isso.
  • Os agentes Windows precisam de licenças de Windows Server, que podemos fornecer no servidor, mas qualquer licença de ferramenta de que a compilação precise continua a ser sua.

As partes que as equipas descobrem tarde

  • JENKINS_HOME é toda a instalação - configuração, histórico de jobs, credenciais, plugins. Copie isso e um controlador é reconstruível numa hora; salte isso e não é reconstruível de todo.
  • Snapshot antes de cada atualização de plugins. É a alteração com mais probabilidade de deitar abaixo um Jenkins que funciona, e um snapshot transforma-a numa reversão de dois cliques.
  • Zero executores no controlador é a recomendação documentada, não uma preferência. Uma compilação que sobrecarrega o controlador leva a interface web atrás.
  • Os agentes devem ser intermutáveis. A documentação defende agentes genéricos e substituíveis em vez de um host especialmente configurado por job, porque o especialmente configurado é sempre o que está em baixo.
  • A porta 8080 não é sítio para deixar um Jenkins por trancar. Ponha-o atrás de um gateway VPN ou de uma lista de endereços autorizados antes do primeiro acesso, não depois.
  • A memória do controlador escala com os plugins, o número de jobs e o histórico de compilações, não com a dureza das compilações - essa carga pertence aos agentes.

Minutos de CI alojados contra um runner seu

Minutos de CI alojados pelo fornecedorUm runner na DCXV
O que pagaCada minuto de cada job, enquanto o projeto existirUm host mensal fixo, faça a pipeline o que fizer nesse mês
Uma compilação que fica mais lentaCusta mais em cada mês que continue lentaNão custa mais nada - a máquina já está paga
Cache de camadas DockerFria em cada job a não ser que a envie e a descarregue você mesmoQuente em NVMe local, entre jobs e entre dias
ConcorrênciaUm escalão de plano que se sobeUm número que define no seu próprio ficheiro de configuração
Onde aterra o checkoutUma frota partilhada, muitas vezes numa região que não consegue fixarUma máquina em Praga ou na Covilhã, sob contrato cipriota
Endereço de saídaUma gama partilhada enorme que nada consegue autorizarUm IPv4 estático do AS204057, seu para autorizar
O que a máquina pode conterO que a imagem do runner por acaso tragaQualquer toolchain, licença ou conjunto de fixtures que instale uma vez

Como isto arranca no seu host

1

Diga-nos o que faz a pipeline

O job mais pesado que corre hoje, quantos quer em simultâneo, e se constrói imagens de contentor. Isso chega para dimensionar um host sem adivinhar.

2

Entregamos-lhe a máquina

Praga ou Covilhã, acesso root e um IPv4 estático, em menos de dez minutos. Traga a sua própria imagem se o runner já vier lá dentro.

3

Siga o passo a passo desta página

É a sequência do fabricante, tirada da documentação atual e não de um artigo de blogue, e demora poucos minutos num host limpo.

4

Faça um snapshot e acrescente o segundo

Faça um snapshot assim que a primeira pipeline estiver verde, para que a máquina seguinte seja um restauro e não uma reconstrução. Um conjunto cresce acrescentando hosts, não tornando um enorme.

Porquê escolher-nos

  • Instalações certificadas Tier III, SLA da instalação de 99,982 %
  • Rede própria, AS204057, IPv4 e IPv6
  • Suporte 24/7/365 com cerca de 10 minutos de resposta média
  • Empresa cipriota, jurisdição da UE, conforme o RGPD desde 2007

FAQ

- De que preciso para instalar o Jenkins em Ubuntu ou Debian?

Java 21 ou posterior, e depois o repositório apt do projeto Jenkins. Instale fontconfig e openjdk-21-jre, acrescente o keyring e a linha de sources do debian-stable de pkg.jenkins.io, apt install jenkins, ative e arranque o serviço, e depois desbloqueie-o com o valor em /var/lib/jenkins/secrets/initialAdminPassword. O Jenkins escuta na porta 8080. A sequência completa está nesta página

- De quanta RAM precisa um controlador Jenkins?

O projeto Jenkins recusa deliberadamente dar um número, chama ao dimensionamento uma ciência inexata e coloca a memória do controlador algures entre 200 MB para uma instalação pequena e 70 GB ou mais para uma muito grande. O que a faz crescer são os plugins, o número de jobs e o histórico de compilações, não a dureza das compilações - porque as compilações não deviam correr no controlador. 8 GB são um começo confortável para uma equipa pequena

- As compilações devem correr no controlador Jenkins?

Não, e a documentação di-lo diretamente: atribuir executores num controlador é má prática porque uma compilação pode sobrecarregar o processador ou a memória e deitá-lo abaixo. Ponha o nó incorporado a zero executores e acrescente agentes. O projeto recomenda também manter os agentes genéricos e intermutáveis em vez de talhar um host por job

- Como faço cópia de segurança do Jenkins?

JENKINS_HOME, que é /var/lib/jenkins numa instalação por pacote, é toda a instalação: configuração, definições de jobs, histórico de compilações, credenciais e plugins. Copie isso e um controlador reconstrói-se numa hora. Todos os planos aqui incluem uma cópia de segurança, e um snapshot antes de cada atualização de plugins transforma a alteração com mais probabilidade de partir o Jenkins numa reversão de dois cliques

- Como ligo um agente de compilação?

O caminho habitual é SSH: gere uma chave com o utilizador jenkins, ponha a metade pública no host do agente, acrescente a metade privada como credencial SSH e crie o nó com o método de arranque SSH. Cada ligação de agente custa ao controlador dois ou três threads e pouco mais de 2 MB, portanto os agentes não são o que dimensiona um controlador

- É seguro deixar o Jenkins na porta 8080?

Na internet aberta não. Ponha-o atrás do nosso gateway VPN ou restrinja a porta aos seus próprios endereços antes do primeiro acesso, não depois - a palavra-passe inicial de administrador está num ficheiro num servidor que, até lá, responde ao mundo inteiro. Um IPv4 estático do AS204057 torna também simples a autorização do outro lado

Se precisar de assistência ou tiver perguntas adicionais, por favor contacte os gestores ou escreva para a equipa de suporte em support@dcxv.com

Pronto para começar?

Faturação mensal, sem taxa de instalação, sem fidelização

Servidores na nuvem desde 15 €/mês