La integración continua se ha convertido en una práctica estándar para muchas organizaciones que desarrollan software, ya que detecta automáticamente los cambios guardados en tus repositorios de software, los ejecuta a través de la unidad, realiza pruebas de integración y funcionales, y por último crea un artefacto (JAR, imagen de Docker o binario). Entre las herramientas de integración continuas, Jenkins es una de las más populares, por lo que creamos el complemento Compute Engine, que te permite proporcionar, configurar y ajustar a escala entornos de compilación de Jenkins en Google Cloud Platform (GCP).

Jenkins te permite definir tu compilación y el proceso de prueba, y luego ejecutarlo continuamente para probar los últimos cambios realizados al software. Pero a medida que avanzas en la práctica de integración continua, podrías necesitar ejecutar compilaciones en grupos de equipos en lugar de hacerlo en un solo servidor. Con el complemento Compute Engine, tus equipos de DevOps pueden administrar de forma intuitiva plantillas de instancias e iniciar instancias de compilación que se registren automáticamente en Jenkins. Cuando Jenkins necesite ejecutar trabajos pero no cuente con una cantidad suficiente de nodos, proporcionará las instancias necesarias en función de tus plantillas. Una vez que disminuya el trabajo en el sistema de compilación, el complemento borrará automáticamente las instancias que no se utilice, de modo que solo pagues por las instancias que necesites. Esta funcionalidad de ajuste de escala automático es una característica importante de un sistema de compilación continua, que se usa mucho durante las horas laborales principales y menos cuando los desarrolladores toman tiempo libre. Si quieres evitar aún más costos, también puedes configurar el complemento Compute Engine para crear tus instancias de compilación como Máquinas virtuales no garantizadas, que pueden ahorrarte hasta el 80% del precio por segundo de tus compilaciones.

La seguridad es otra preocupación en el caso de los sistemas de integración continua. Una falla de este sistema administrativo clave puede poner en riesgo la integridad de tu software. El complemento Compute Engine usa la última versión, y la más segura, del protocolo remoto Java Network Launch Protocol (JNLP) de Jenkins. Al iniciar las instancias de compilación, el complemento Compute Engine crea una clave SSH por única vez y la inyecta en cada instancia de compilación. De esa manera, el impacto de esas credenciales afectadas se limita a una sola instancia.

El complemento Compute Engine te permite configurar tus instancias de compilación como quieras, incluso en las redes. Por ejemplo, puedes:

  • Inhabilitar IP externas de modo que no se pueda acceder públicamente a las VM del proceso de trabajo
  • Usar redes VPC compartidas para obtener más independencia en tus proyectos GCP
  • Aplicar etiquetas de red personalizadas para acceder a una mejor ubicación en las reglas de firewall


El complemento también te permite adjuntar aceleradores, como GPU y SSD locales, a tus instancias para ejecutar más rápido las compilaciones. También puedes configurar el complemento de modo que use nuestra amplia gama de tipos de máquina que cumplan con los requisitos de CPU y memoria de tu instancia de compilación para la carga de trabajo, y así lograr una mejor utilización. Por último, el complemento te permite configurar secuencias de comandos de inicio para las plantillas de tu instancia, en las cuales puedes realizar la configuración final de tus imágenes básicas antes de ejecutar las compilaciones.

Si usas Jenkins en tus instalaciones, puedes usar el complemento Compute Engine para crear una granja de compilación efímera en Compute Engine sin perder tu patrón de Jenkins ni ninguna otra dependencia de compilación necesarias detrás del firewall. Luego puedes usar esta extensión de tu granja de compilación cuando no puedas cumplir con la demanda de capacidad de compilación, o para trasladar tus cargas de trabajo a la nube de forma práctica y con bajo riesgo.

Aquí podrás ver un ejemplo de la página de configuración para la plantilla de una instancia:

A continuación, te mostramos la arquitectura de alto nivel de un sistema de compilación escalable compilado con los complementos Compute Engine de Jenkins y Google Cloud Storage. El administrador de Jenkins configura una cuenta de servicio de IAM que Jenkins usa para proveer tus instancias de compilación. Una vez que se ejecutan las compilaciones, puede cargar alteraciones a Cloud Storage para archivarlas (y moverlas a un espacio de almacenamiento menos costoso después de un período determinado).
Jenkins y la integración continua son herramientas potentes para las tiendas de desarrollo de software modernas, y esperamos que este complemento facilite el uso de Jenkins en GCP. Para aprender a configurarlo en tu proyecto de Google Cloud, consulta nuestra guía de soluciones.