P: ¿Qué es Jenkins?

Jenkins es una herramienta de integración continua de código abierto escrita en Java. Ofrece servicios de integración personalizados para el desarrollo de software. Es un sistema basado en servidor que utilizan muchos equipos de desarrollo.

P: ¿Por qué debería utilizar Jenkins?

Debería utilizar Jenkins si desea agilizar el ciclo de vida de desarrollo de software (SDLC). Jenkins le permite integrar la compilación, la implementación y la prueba en varios entornos, al mismo tiempo que reduce los tiempos de espera de sus equipos de desarrollo. Finalmente, como permite una integración continua, Jenkins es adecuado para operaciones de desarrollo y métodos ágiles que utilicen ciclos de iteración cortos.

P: ¿Por qué debería ejecutar Jenkins en AWS?

AWS brinda recursos de infraestructura fiables, escalables y seguros que son ideales para la ejecución de aplicaciones como Jenkins. Si ejecuta Jenkins en la informática de AWS, solo paga por lo que usa y adapta la capacidad para que se ajuste a sus necesidades específicas.

P: ¿Seré propietario de mi entorno con Jenkins?

Sí, todos los recursos creados durante la realización de esta guía de introducción continuarán siendo suyos y permanecerán en su cuenta. Continuarán existiendo hasta que decida terminar la instancia de Amazon EC2.

P: ¿Cuál es el coste de Jenkins?

Jenkins es un software gratuito de código abierto. El único coste se relaciona con la infraestructura subyacente en la que se ejecuta Jenkins. Para obtener más información sobre costes, consulte Servicios utilizados y costes.

P: ¿Cómo puedo proteger a Jenkins en AWS?

Debe utilizar grupos de seguridad y contraseñas seguras. También debe garantizar que la instancia EC2 y la instalación de Jenkins estén actualizadas con los parches de seguridad más recientes. Los grupos de seguridad funcionan como firewalls con estado virtuales que controlan el tráfico de una o más instancias. De ser posible, reduzca el rango de IP a las direcciones IP de origen relevantes. No abra ningún puerto TCP o UDP extraño (TCP 80 y 8080 son suficientes). Cuando configure contraseñas para Jenkins, respete las prácticas recomendadas para contraseñas y utilice caracteres alfanuméricos en minúscula y mayúscula, además de símbolos (p. ej. /, ., !, *…). Puede verificar si su instancia Amazon Linux tiene los paquetes más recientes instalados si ejecuta una actualización yum. De esta manera, también se actualizará Jenkins si lo instaló con yum, como se indica en las instrucciones de esta guía.

P: ¿Puedo ejecutar Jenkins en una subred privada?

Es posible instalar Jenkins en una instancia EC2 que sea parte de una subred pública o privada. Si desea colocar la instancia en una subred privada, deberá asegurarse de poder acceder al front-end de Jenkins. Si se conecta a través de Internet, puede optar por crear un grupo de destino de Jenkins y usar un Application Load Balancer para crear un punto de enlace público para su instancia hospedada de manera privada. Si se conecta a través de su propio centro de datos, podrá definir una VPN o conectar a Jenkins con Direct Connect.

P: ¿Es posible ajustar la escala de Jenkins?

Existen varias maneras para garantizar que Jenkins se adapte a sus necesidades de CI/CD. Una manera simple es escalar de manera vertical la instancia EC2 a través de la modificación del tamaño de la instancia. Otra manera sería configurar el complemento Amazon EC2 Container Service para Jenkins para asignar trabajos de compilación a tareas subordinadas de Jenkins en un clúster de ECS.