Resumen

Jenkins destaca en automatización por ser open source, masivo en adopción y con una comunidad amplia que responde rápido a dudas. Está escrito en Java y corre sobre la JVM, lo que lo hace portable entre Windows, Linux y sistemas Unix de Apple. Además, su ecosistema de plugins permite ampliar capacidades más allá de la instalación base, dando flexibilidad real para necesidades diversas.

¿Por qué Jenkins destaca en automatización?

Jenkins combina portabilidad, extensibilidad y soporte comunitario. Esto facilita adoptarlo, resolver problemas y crecer sin fricciones innecesarias.

  • Escrito en Java y corre en la JVM: portable entre Windows, Linux y Unix de Apple.
  • Ecosistema de plugins: añade funciones que no trae por defecto.
  • Puedes escribir tus propios plugins en Java.
  • Comunidad extensa: es probable que tu duda ya tenga respuesta en Internet.
  • Experiencia más friendly gracias a su uso masivo.
  • No se cubrirá la creación de plugins en este curso.

¿Cómo escala Jenkins y organiza los trabajos?

El diseño de Jenkins facilita escalar vertical y horizontalmente para soportar múltiples cargas de trabajo. Esto es clave en automatización con alta concurrencia.

  • Escalado vertical: ejecutar muchos trabajos concurrentes en una sola máquina.
  • Más recursos a una máquina si no da abasto.
  • Escalado horizontal con slaves (término de la herramienta): Jenkins controla nodos que trabajan por él.
  • Nodos dedicados: asigna máquinas virtuales o físicas con el hardware y requisitos necesarios.
  • Potente para distribuir procesos y mantener el rendimiento.

¿Por qué la seguridad y los jobs como código importan en Jenkins?

Jenkins recibe especial atención en seguridad porque concentra código y secretos como llaves de AWS o cuentas en Digital Ocean. Por eso, sus releases de seguridad frecuentes son críticas. Usualmente se ejecuta en la infraestructura interna de la empresa; existen proveedores que ofrecen Jenkins como servicio, y también alternativas como CircleCI y CodeShip que brindan capacidades similares como servicio.

  • Jenkins puede convertirse en un honeypot: objetivo principal porque “lo tiene todo”.
  • Se usa comúnmente en infraestructura interna de la compañía.
  • Hay servicios gestionados, aunque no todos los equipos los utilizan.
  • Alternativas como CircleCI y CodeShip ofrecen funciones similares como servicio.

Además, Jenkins ha impulsado una práctica esencial: definir los jobs como código. Antes, se configuraba con clics y variables; si la máquina fallaba, podías perderlo todo salvo que existiera backup. Ahora, la meta es que la automatización sea programática y reproducible.

  • Declarar jobs en código facilita migrar a un Jenkins nuevo.
  • Mejora la reproducibilidad: si no se puede reproducir, algo falla.
  • Jenkins creó Pipeline XCode para describir trabajos como código.
  • En este curso se verá cómo instalar y configurar Jenkins de forma básica, y se trabajará con Pipeline XCode.

¿Te gustaría compartir cómo planeas usar Jenkins o qué retos de automatización quieres resolver? Deja tu comentario y conversemos.