Hosting de Jenkins, controlador y agentes separados

Un controlador Jenkins en su propia máquina en Praga o Covilhã, con las compilaciones desplazadas a los agentes donde corresponden - el único consejo de dimensionamiento que da el proyecto Jenkins y el que la mayoría de instalaciones ignora.

Certificado Tier III ISO 9001 ISO/IEC 27001 ISO 14001 Conforme con el RGPD

Para quién es

Un Jenkins que vive bajo la mesa de alguien

Lleva compilando desde 2019, nadie recuerda qué plugins importan, y todo el proceso de publicación depende de una torre con un disco y sin copia de seguridad.

Un controlador que ejecuta sus propias compilaciones

Se asignaron ejecutores en el controlador porque era más fácil, y ahora un trabajo pesado se lleva por delante la interfaz web - algo que la documentación de Jenkins califica de mala práctica con esas mismas palabras.

Un equipo que no puede pasarse a CI alojado

Doce años de pipelines, un plugin que nadie ha sustituido y un trabajo que habla con hardware. Jenkins no es el problema; la máquina de debajo sí.

Lo que le aporta una máquina propia

  • Un controlador que sigue respondiendo, porque las compilaciones corren en agentes y no en lo que sirve la interfaz web.
  • JENKINS_HOME en NVMe con un snapshot antes de cada actualización de plugins, para que la vuelta atrás sean dos clics y no una tarde entera.
  • Agentes añadidos como hosts aparte y conectados por SSH o el protocolo entrante, dimensionados de forma distinta al controlador.
  • Una IPv4 estática de AS204057, para que un registro interno, un almacén de artefactos o un destino de despliegue pueda autorizar el controlador por dirección.
  • Cualquier agente que necesite al lado - Linux para las compilaciones, Windows Server con licencia nuestra cuando un trabajo lo pida.
  • Instalaciones Tier III, una copia de seguridad incluida y una máquina que no depende del aire acondicionado de la oficina.

Dimensionado por lo que la pipeline hace de verdad

El proyecto Jenkins se niega deliberadamente a publicar una cifra única de hardware, califica el dimensionamiento de ciencia inexacta y sitúa la memoria del controlador entre 200 MB para una instalación pequeña y 70 GB o más para una grande. Lo que sí dice con claridad es dónde va el trabajo: no asigne ejecutores en el controlador, porque una compilación puede sobrecargarlo y tumbarlo. Dimensione entonces el controlador para la interfaz, los plugins y el historial de trabajos, y añada agentes para las compilaciones. Una salvedad sobre la forma de facturar: un host mensual fijo cuesta lo mismo en una semana tranquila, donde los minutos de CI alojados no cuestan nada - Jenkins suele estar en marcha casi todos los días, que es justo cuando esto gana.

Un primer controlador
16.49
por mes

Pedir Ahora
un equipo pequeño, agentes más adelante
2 vCPU
8 GB RAM
80 GB NVMe
1 IPv4 estática
1 copia semanal incluida
Un controlador con agentes
36.01
por mes

Pedir Ahora
un controlador con sitio para el historial de compilaciones
4 vCPU
16 GB RAM
240 GB NVMe
1 IPv4 estática
1 copia semanal incluida
Una granja de compilación
65.98
por mes

Pedir Ahora
muchos trabajos, muchos agentes, historial largo
8 vCPU
32 GB RAM
320 GB NVMe
1 IPv4 estática
1 copia semanal incluida

Cómo instalar Jenkins en Debian o Ubuntu

La línea LTS estable, desde el repositorio propio del proyecto Jenkins, en el orden que documentan. Java 21 o posterior es un requisito, no una sugerencia.

  1. Instalar Java

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

    Jenkins requiere Java 21 o posterior. fontconfig aparece con él en el comando documentado porque los plugins que renderizan imágenes fallan de forma confusa sin él.

  2. Añadir el repositorio LTS de 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 es la línea LTS; la ruta debian a secas es la semanal. La clave de firma se rota, así que tome el nombre de fichero actual de la página de Jenkins y no de una guía antigua.

  3. Instalarlo y arrancarlo

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

    Jenkins escucha en el puerto 8080 y se ejecuta con su propio usuario jenkins, con todo lo que importa bajo /var/lib/jenkins. Ese directorio es lo que hay que snapshotear y respaldar.

  4. Desbloquear el primer acceso

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

    Abra el servidor en el puerto 8080 y pegue ese valor. No lo deje accesible desde todo internet mientras lo configura - póngalo detrás de nuestra pasarela VPN, o restrinja antes el puerto 8080 a la dirección de su oficina.

  5. Sacar las compilaciones del controlador

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

    Este es el único consejo de dimensionamiento que la documentación de Jenkins da de forma expresa: asignar ejecutores en el controlador permite que una compilación lo sobrecargue y lo tumbe. Ponga el nodo integrado a cero ejecutores y añada hosts de agente, que recomienda mantener genéricos e intercambiables en lugar de adaptados a cada trabajo.

  6. Conectar un 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

    Añada la clave privada como credencial SSH Username with private key y luego cree el nodo con el método de arranque SSH. Cada conexión de agente le cuesta al controlador un par de hilos y algo más de 2 MB, así que un puñado de agentes no es lo que dimensiona un controlador - lo son los plugins y el historial de trabajos.

Comprobado con la documentación oficial el 2026-08-15 — leer la fuente

Lo que no somos

  • No somos el proyecto Jenkins. Jenkins es una marca de la Linux Foundation y el software es suyo; nada de esto cuenta con su respaldo. Vendemos la máquina donde se ejecuta.
  • No mantenemos sus plugins. Las actualizaciones de plugins son donde se rompen las instalaciones de Jenkins, y quien sabe cuáles de sus 60 plugins importan está de su lado - aunque un snapshot antes de cada actualización está del nuestro.
  • No migramos sus trabajos como parte del precio. Ayudamos con la ventana y con la copia de JENKINS_HOME, y presupuestamos el resto si quiere que se lo hagan en lugar de que le acompañen.
  • Aquí no hay un plano de control de Jenkins gestionado. Si quiere que otro se haga cargo por completo de las actualizaciones, un producto de CI alojado es la respuesta honesta, y esto no lo es.
  • Los agentes Windows necesitan licencias de Windows Server, que podemos suministrar en el servidor, pero cualquier licencia de herramienta que necesite la compilación sigue siendo suya.

Las partes que los equipos descubren tarde

  • JENKINS_HOME es la instalación entera - configuración, historial de trabajos, credenciales, plugins. Respáldelo y un controlador se reconstruye en una hora; sáltelo y no se reconstruye en absoluto.
  • Snapshot antes de cada actualización de plugins. Es el cambio con más probabilidad de tumbar un Jenkins que funciona, y un snapshot lo convierte en una vuelta atrás de dos clics.
  • Cero ejecutores en el controlador es la recomendación documentada, no una preferencia. Una compilación que sobrecarga el controlador se lleva con ella la interfaz web.
  • Los agentes deberían ser intercambiables. La documentación defiende agentes genéricos y sustituibles en lugar de un host especialmente configurado por trabajo, porque el especialmente configurado es siempre el que está caído.
  • El puerto 8080 no es sitio para dejar un Jenkins sin bloquear. Póngalo detrás de una pasarela VPN o de una lista de direcciones autorizadas antes del primer acceso, no después.
  • La memoria del controlador escala con los plugins, el número de trabajos y el historial de compilaciones, no con lo duras que sean las compilaciones - esa carga es de los agentes.

Minutos de CI alojados frente a un runner propio

Minutos de CI alojados por el proveedorUn runner en DCXV
Por lo que pagaCada minuto de cada trabajo, mientras exista el proyectoUn host mensual fijo, haga lo que haga la pipeline ese mes
Una compilación que se vuelve más lentaCuesta más cada mes que siga siendo lentaNo cuesta nada más - la máquina ya está pagada
Caché de capas de DockerFría en cada trabajo salvo que la suba y la baje usted mismoCaliente en NVMe local, entre trabajos y entre días
ConcurrenciaUn escalón de plan que se contrataUn número que usted pone en su propio fichero de configuración
Dónde aterriza el checkoutUna flota compartida, a menudo en una región que no puede fijarUna máquina en Praga o Covilhã, bajo contrato chipriota
Dirección salienteUn rango compartido enorme que nada puede autorizarUna IPv4 estática de AS204057, suya para autorizar
Lo que la máquina puede contenerLo que la imagen del runner traiga de serieCualquier cadena de herramientas, licencia o conjunto de datos que instale una vez

Cómo se pone esto en marcha en su host

1

Díganos qué hace la pipeline

El trabajo más pesado que ejecuta hoy, cuántos quiere a la vez y si construye imágenes de contenedor. Con eso basta para dimensionar un host sin adivinar.

2

Le entregamos la máquina

Praga o Covilhã, acceso root y una IPv4 estática, en menos de diez minutos. Traiga su propia imagen si el runner ya viene dentro.

3

Siga el paso a paso de esta página

Es la secuencia del fabricante, tomada de su documentación actual y no de una entrada de blog, y lleva unos minutos en un host limpio.

4

Haga un snapshot y añada el segundo

Haga un snapshot en cuanto la primera pipeline esté en verde, para que la siguiente máquina sea una restauración y no una reconstrucción. Un grupo crece añadiendo hosts, no haciendo uno enorme.

Por qué elegirnos

  • Instalaciones certificadas Tier III, SLA de instalación del 99,982 %
  • Red propia, AS204057, IPv4 e IPv6
  • Soporte 24/7/365 con unos 10 minutos de respuesta media
  • Sociedad chipriota, jurisdicción de la UE, conforme al RGPD desde 2007

FAQ

- ¿Qué necesito para instalar Jenkins en Ubuntu o Debian?

Java 21 o posterior, y después el repositorio apt del proyecto Jenkins. Instale fontconfig y openjdk-21-jre, añada el keyring y la línea de sources de debian-stable de pkg.jenkins.io, apt install jenkins, active y arranque el servicio, y desbloquéelo con el valor de /var/lib/jenkins/secrets/initialAdminPassword. Jenkins escucha en el puerto 8080. La secuencia completa está en esta página

- ¿Cuánta RAM necesita un controlador Jenkins?

El proyecto Jenkins se niega deliberadamente a dar una cifra, califica el dimensionamiento de ciencia inexacta y sitúa la memoria del controlador entre 200 MB para una instalación pequeña y 70 GB o más para una muy grande. Lo que la escala son los plugins, el número de trabajos y el historial de compilaciones, no lo duras que sean las compilaciones - porque las compilaciones no deberían correr en el controlador. 8 GB son un comienzo cómodo para un equipo pequeño

- ¿Deberían ejecutarse las compilaciones en el controlador Jenkins?

No, y la documentación lo dice directamente: asignar ejecutores en un controlador es mala práctica porque una compilación puede sobrecargar su CPU o su memoria y tumbarlo. Ponga el nodo integrado a cero ejecutores y añada agentes. El proyecto recomienda además mantener los agentes genéricos e intercambiables en lugar de adaptar un host por trabajo

- ¿Cómo hago copia de seguridad de Jenkins?

JENKINS_HOME, que es /var/lib/jenkins en una instalación por paquete, es la instalación entera: configuración, definiciones de trabajos, historial de compilaciones, credenciales y plugins. Respáldelo y un controlador se reconstruye en una hora. Todos los planes de aquí incluyen una copia de seguridad, y un snapshot antes de cada actualización de plugins convierte el cambio con más probabilidad de romper Jenkins en una vuelta atrás de dos clics

- ¿Cómo conecto un agente de compilación?

La vía habitual es SSH: genere una clave con el usuario jenkins, ponga la mitad pública en el host del agente, añada la mitad privada como credencial SSH y cree el nodo con el método de arranque SSH. Cada conexión de agente le cuesta al controlador un par de hilos y algo más de 2 MB, así que los agentes no son lo que dimensiona un controlador

- ¿Es seguro dejar Jenkins en el puerto 8080?

No en internet abierto. Póngalo detrás de nuestra pasarela VPN o restrinja el puerto a sus propias direcciones antes del primer acceso, no después - la contraseña inicial de administrador está en un fichero de un servidor que, hasta entonces, responde a todo el mundo. Una IPv4 estática de AS204057 hace además sencilla la autorización del otro lado

Si necesita asistencia o tiene preguntas adicionales, por favor contacte a los gerentes o escriba al equipo de soporte en support@dcxv.com

¿Listo para comenzar?

Facturación mensual, sin cuota de instalación, sin compromiso

Servidores en la nube desde 15 €/mes