Explore OpenShift Source-to-Image usando webhooks de Git

OpenShift es una plataforma de aplicaciones empresariales basada en la herramienta de orquestación de Kubernetes. Puede implementar aplicaciones desde varias fuentes, incluidas imágenes predefinidas, así como desde la fuente. En este artículo, hablaré sobre Source-to-Image (S2I) y cómo automatizar todo el proceso usando webhooks de Git. Puede seguirlo y probarlo usted mismo de forma gratuita en Portal de aprendizaje interactivo OpenShift.

Índice

Fuente a imagen

S2I es un proceso que toma el código fuente de una aplicación almacenado en una herramienta de administración de control de fuente como Git o SCM y lo coloca en una imagen base usando BuildConfig, luego implementa la aplicación en él. A continuación se muestra un diagrama simple que nos ayuda a comprender todo el proceso. En este proceso, si un desarrollador actualiza el código en Git, debemos activar una compilación manualmente con este comando:

oc start-build <build name>

Referencia de imagen

Sin embargo, OpenShift proporciona una excelente manera de manejar la activación automática de BuildConfig mediante webhooks. Veamos una demostración rápida de la misma. Para hacer esto uso aprender.openshift.com ejecutándose en OpenShift 4.2 CRC.

Para iniciar la aplicación mediante el proceso S2I, que crea ImageStream, BuildConfig, DeploymentConfig y el servicio a la vez, puede hacer algo como esto:

$ oc new-app --name=demo https://github.com/ashutoshbhakare/php
$ oc expose svc demo  # to create the route

Ahora intentemos integrar OpenShift y GitHub usando webhooks. Para lograr esto, necesitamos una URL y un secreto de webhooks, que autentica nuestro disparador de GitHub con OpenShift. Entonces, cada vez que un desarrollador actualiza el código fuente de GitHub, activa inmediatamente la compilación en OpenShift. Webhooks es una llamada a la API que se ejecuta en el puerto 6443. Para obtener la URL y el secreto de los webhooks podemos usar:

$ oc describe bc demo

Lo que devuelve la salida a continuación:

En el ejemplo anterior, https: // openshift: 6443 debe reemplazarse con la URL principal de nuestro OpenShift, según mi aprender.openshift.com laboratorios en línea.

Para obtener el secreto:

$ oc get bc demo -o yaml | grep secret
      secret: N58sBgReryjBwYIBp4FV
      secret: u1BaRZVDxAfvsT5lC3tX

Usaremos el segundo valor, que es para webhooks genéricos: URL de carga útil para GitHub.

Agregar el webhook

Era la parte más complicada de los laboratorios en línea.

Ahora vayamos a GitHub y agreguemos la URL de la carga del webhook allí. Al hacer clic en los parámetros y en el Seleccionando la opción Webhooks → Agregar un Webhook, copiaremos toda la URL de carga útil como se indicó anteriormente y pegaremos el secreto en el cuadro de texto.

Así se completó con éxito la integración de los webhooks de GitHub y OpenShift. Podemos probar esto modificando el código de Git, que debe proporcionar la información a continuación, que muestra los lanzamientos recientes.

Conclusión

Source-to-Image (S2I) puede ayudar a automatizar el proceso de lanzamiento de una aplicación mediante webhooks de Git. El proceso puede ser simple y puede demostrarlo usted mismo en Portal de aprendizaje interactivo OpenShift.

Artículos de interés

Subir