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.
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.
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.
-
Instalar o Java
sudo apt update sudo apt install fontconfig openjdk-21-jre java -versionO 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.
-
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/nulldebian-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.
-
Instalar e arrancar
sudo apt update sudo apt install jenkins sudo systemctl enable jenkins sudo systemctl start jenkinsO 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.
-
Desbloquear o primeiro acesso
sudo cat /var/lib/jenkins/secrets/initialAdminPasswordAbra 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.
-
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 hostEste é 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.
-
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-HOSTAdicione 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 fornecedor | Um runner na DCXV | |
|---|---|---|
| O que paga | Cada minuto de cada job, enquanto o projeto existir | Um host mensal fixo, faça a pipeline o que fizer nesse mês |
| Uma compilação que fica mais lenta | Custa mais em cada mês que continue lenta | Não custa mais nada - a máquina já está paga |
| Cache de camadas Docker | Fria em cada job a não ser que a envie e a descarregue você mesmo | Quente em NVMe local, entre jobs e entre dias |
| Concorrência | Um escalão de plano que se sobe | Um número que define no seu próprio ficheiro de configuração |
| Onde aterra o checkout | Uma frota partilhada, muitas vezes numa região que não consegue fixar | Uma máquina em Praga ou na Covilhã, sob contrato cipriota |
| Endereço de saída | Uma gama partilhada enorme que nada consegue autorizar | Um IPv4 estático do AS204057, seu para autorizar |
| O que a máquina pode conter | O que a imagem do runner por acaso traga | Qualquer toolchain, licença ou conjunto de fixtures que instale uma vez |
Como isto arranca no seu host
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.
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.
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.
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