6 pasos para automatizar envíos de código con Ansible Automatización Platform

Plataforma de automatización Ansible (AAP) es una solución empresarial de Red Hat para facilitar el uso de Ansible. Viene con muchos componentes para ayudarlo a automatizar sus procesos a lo largo del ciclo de vida de desarrollo de software (SDLC). Le proporciona varias funciones como control de acceso basado en roles (RBAC), flujos de trabajo, integración de terceros a través de API, notificaciones, credenciales de clave SSH compartidas, etc. También se integra bien con LDAP y viene con registro preconfigurado.

Índice

    entender el problema

    El proceso se ve así: el equipo de desarrollo modifica el código y lo envía al Git repositorio utilizado por el producto. Una vez que se actualiza el código, el equipo de DevOps extrae el código más reciente y luego lo envía a los servidores requeridos a través de un libro de jugadas. ¿El problema? El último código debe descargarse manualmente cada vez y luego enviarse a los servidores requeridos. Te mostraré cómo automatizar este proceso.

    Proporcionar la solución

    AAP admite la integración con GitHub y GitLab. Esta integración se realiza mediante un archivo. Un webhook es una acción de devolución de llamada HTTP definida por el usuario que se desencadena por un evento, como actualizar un fragmento de código y cargarlo en un repositorio. La acción desencadenada, en este caso, es la ejecución de un libro de jugadas en los hosts administrados deseados.

    Figura 1: Los cambios se mueven del usuario a GitLab a AAP a los servidores de destino.

    En el diagrama anterior, el usuario envía el último código al repositorio de GitLab, lo que desencadena un evento. El evento es el código enviado al repositorio. Este evento desencadena además un webhook basado en HTTP que se comunica con AAP a través de su API. Esto notifica a AAP que ejecute la plantilla deseada en el inventario seleccionado.

    Configure un webhook AAP con GitLab:

    Entonces, ¿cómo funciona este proceso? Lo he dividido en seis pasos para que sea más fácil de entender.

    Paso 1: Cree un token de acceso personal de GitLab

    Ir hacia Ajustes de usuario en su cuenta de GitLab y cree un token de acceso personal. Estas credenciales se usan para establecer una conexión API a GitLab para usar con tareas de escucha de webhook para publicar actualizaciones de estado.

    Figura 2: Cree un token de acceso personal.

    Paso 2: configurar el token de acceso personal de GitLab

    Cree una nueva credencial en AAP con el tipo,. Proporcione un nombre y una organización relevantes, luego ingrese su token.

    Figura 3: Crear nueva credencial en AAP

    Paso 3: habilite los webhooks en la plantilla AAP

    Ve a tu modelo AAP y consulta el Webhook botón. Esto requerirá que ingrese al servicio de webhook, que es GitLab. Elija su nombre de usuario creado anteriormente en el Id. de webhook opción. Cópialo URL del webhook y Clave de webhook le dimos y guarde la configuración.

    Figura 4: Activar webhooks.

    Paso 4: activa el webhook en el proyecto de GitLab

    Navegar a la Configuración de webhook de su proyecto GitLab. Introducir el URL del webhook y Clave de webhook copió de la plantilla AAP. Elegir Empujar eventos como disparador porque queremos ejecutar el modelo cuando se inserta el último código. Deshabilite la verificación SSL si su AAP no tiene un certificado SSL válido.

    Figura 5: Administración de webhooks.

    Paso 5: Realice cambios en su código y envíelo al repositorio

    Envíe sus cambios al repositorio de GitLab a través de la interfaz de GitLab o la CLI de Git.

    Figura 6: Un comando git push.

    Paso 6: verificar que el modelo se está ejecutando

    Ir hacia Obras en AAP. Su modelo debe estar ejecutándose o ejecutarse con éxito. Observe la lanzado por y el Variables adicionales dominio. Verá al usuario como el webhook y las variables adicionales utilizadas por el webhook para completar la ejecución correctamente.

    Figura 7: Comprobar la ejecución del modelo.

    Conclusión

    La automatización se ha convertido en una necesidad en la gestión de cualquier organización de su infraestructura. El uso de tecnologías como los webhooks permitirá que un administrador del sistema implemente automáticamente los cambios más recientes en sus hosts administrados a través de una solución empresarial como Ansible Automatización Platform.

    Artículos de interés

    Subir