Skip to content

Tag: Acciones de GitHub

Habilitaci贸n de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub 鈽侊笍

Habilitaci贸n de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Habilitaci贸n de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub | Blog de desarrolladores de Salesforce

La mayor铆a de las cuentas empresariales de Anypoint Platform requieren que utilice mecanismos de autenticaci贸n multifactor (MFA) para mayor seguridad. Esto significa que, adem谩s de su nombre de usuario y contrase帽a habituales, necesitar谩 un paso adicional para autenticarse (por ejemplo, una aplicaci贸n de autenticaci贸n en su tel茅fono).

Cuando utiliza canalizaciones de CI/CD para sus aplicaciones Mule y MFA est谩 habilitado en su cuenta, la configuraci贸n para autenticarse usando el complemento Mule Maven ser谩 diferente que si solo estuviera usando su nombre de usuario y contrase帽a. Hay m谩s pasos que debe seguir desde su cuenta de Anypoint Platform para habilitar sus canales de CI/CD con este m茅todo de autenticaci贸n.

En esta publicaci贸n, aprender谩 c贸mo configurar una canalizaci贸n de GitHub Actions para que funcione con su cuenta habilitada para MFA desde Anypoint Platform.

Requisitos previos

Crear una aplicaci贸n conectada

Dado que usar el nombre de usuario y la contrase帽a de su plataforma Anypoint no es suficiente para autenticarse en el proceso, debe crear una aplicaci贸n conectada para usar sus credenciales (ID/Secreto). Para crearlo, vaya a su cuenta de Anypoint Platform y navegue hasta Gesti贸n de acceso > Aplicaciones conectadas > Crear aplicaci贸n .

Asigne un nombre a su aplicaci贸n para identificarla de otras que pueda crear. Por ejemplo, github-actions . Seleccione el tipo La aplicaci贸n act煤a por s铆 sola y haga clic en el bot贸n Agregar 谩mbitos .

Seleccione los siguientes 10 谩mbitos.

  • Desarrollador del centro de dise帽o
  • Ver entorno
  • Ver organizaci贸n
  • Perfil
  • Administrador de organizaci贸n de CloudHub
  • Crear aplicaciones
  • Eliminar aplicaciones
  • Descargar aplicaciones
  • Leer aplicaciones
  • Leer servidores

Haga clic en Siguiente . Seleccione su grupo empresarial y haga clic en Siguiente . Seleccione su entorno (por ejemplo, Sandbox) y haga clic en Siguiente . Revise que los alcances sean correctos y haga clic en Agregar alcances . Haga clic en Guardar .

Una vez creada la aplicaci贸n, aseg煤rese de copiar tanto el ID como el Secreto . Los utilizar谩 en la configuraci贸n de la canalizaci贸n como m茅todo de autenticaci贸n.

Configura tus secretos de GitHub Actions

Vaya a su repositorio de GitHub. Haga clic en la pesta帽a Configuraci贸n > Secretos y variables > Acciones > Nuevo secreto del repositorio . En el campo de nombre, agregue CONNECTED_APP_CLIENT_ID . En el campo secreto, agregue la identificaci贸n real que acaba de copiar en el paso anterior. Repita este paso para crear otro secreto con el secreto real que copi贸 en el paso anterior. Utilice el nombre CONNECTED_APP_CLIENT_SECRET .

Crear una canalizaci贸n de CI/CD

De vuelta en el c贸digo de su aplicaci贸n Mule, cree una carpeta .github en el nivel ra铆z. Dentro de esta carpeta, cree otra carpeta llamada workflows . Dentro de esta carpeta, cree un archivo build.yml con el siguiente contenido: mule-mfa-cicd-build.yml . Tenga en cuenta que la sucursal main se utiliza en la l铆nea 5. Si su sucursal tiene un nombre diferente, aseg煤rese de actualizar esta configuraci贸n.

En este archivo, describimos los pasos para generar el archivo JAR de nuestra aplicaci贸n Mule e implementarlo en nuestra cuenta de Anypoint Platform usando GitHub Actions. Observe que estamos usando los secretos creados previamente en el 煤ltimo paso para pasarlos a nuestro proyecto a trav茅s de Maven. Aqu铆 declaramos dos variables de entorno Java ( client.id y client.secret ) para copiar las credenciales de nuestra aplicaci贸n de los secretos de GitHub para que el archivo pom.xml pueda usarse m谩s adelante.

Modifica tu configuraci贸n de Maven

En su proyecto Mule, abra su archivo pom.xml. Localice el complemento org.mule.tools.maven en project/build/plugins . Agregue la siguiente configuraci贸n a este complemento.

<dx-code-block title language="xml" code-block=" org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true https://anypoint.mulesoft.com 4.4.0 mulesoft-mfa-cicd Sandbox MICRO us-east-2 1 true ${client.id} ${client.secret} client_credentials
“>

Vuelva a verificar estas configuraciones en caso de que necesite actualizarlas para que coincidan con su caso de uso. Por ejemplo, muleVersion , applicationName , environment o region . Usaremos los campos connectedAppClientId y connectedAppClientSecret para pasar las variables Java que declaramos anteriormente en la configuraci贸n de Maven.

Es importante que no codifique las credenciales de la aplicaci贸n conectada en este archivo por razones de seguridad. Es por eso que mantenemos los valores como secretos de GitHub. Recuerda que puedes acceder a nuestro repositorio de ejemplo si necesitas comparar tu c贸digo con el nuestro.

ejecutar la tuber铆a

Una vez que todas sus configuraciones est茅n listas, confirme y env铆e sus cambios al repositorio remoto. Esto activar谩 la canalizaci贸n en GitHub. Puede ver el proceso haciendo clic en la pesta帽a Acciones de su repositorio de GitHub.

Una vez completado el proceso, su aplicaci贸n Mule se implementar谩 en Runtime Manager. Tenga en cuenta que el archivo JAR contendr谩 el hash de confirmaci贸n en su nombre.

Conclusi贸n

Habilitar canalizaciones de CI/CD es importante para automatizar tareas repetitivas. En lugar de implementar manualmente una aplicaci贸n Mule cada vez que hay un cambio en el c贸digo, podemos crear canalizaciones para que realicen estas tareas por nosotros. Este fue un ejemplo simple que utiliza solo una sucursal y un entorno, pero puede conectar otras sucursales a otros entornos en Anypoint Platform. Por ejemplo, dev , qa , prod , etc.

En esta publicaci贸n, aprendimos c贸mo implementar autom谩ticamente una aplicaci贸n Mule en CloudHub cuando usamos la autenticaci贸n multifactor en nuestra cuenta de Anypoint Platform porque la mayor铆a de las cuentas empresariales tienen esta configuraci贸n habilitada. Sin embargo, cuando solo usa una cuenta de prueba gratuita, no necesita crear una aplicaci贸n conectada si no usa MFA en su cuenta. Puede utilizar su nombre de usuario y contrase帽a de Anypoint Platform para iniciar sesi贸n.

Hay muchas cosas que puede automatizar al utilizar canalizaciones de CI/CD para sus aplicaciones Mule. Puedes ejecutar pruebas automatizadas antes de implementar tu aplicaci贸n Mule, por ejemplo. 驴Se te ocurren otras tareas repetitivas que puedas automatizar en tus canalizaciones?

Nota: Las versiones iniciales de la canalizaci贸n se basan en el siguiente repositorio creado por Archana Patel: arch-jn/github-actions-mule-cicd-demo .

Recursos adicionales

Sobre el Autor

Alex Mart铆nez form贸 parte de la comunidad de MuleSoft antes de unirse a MuleSoft como desarrollador defensor. Fund贸 ProstDev para ayudar a otros profesionales a aprender m谩s sobre la creaci贸n de contenido. En su tiempo libre, encontrar谩s a Alex jugando juegos de Nintendo o Playstation y escribiendo rese帽as sobre ellos. Siga a Alex en LinkedIn o en la comunidad Trailblazer .

Obtenga las 煤ltimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a trav茅s de Slack o RSS.

A帽adir a holgura Suscr铆bete a RSS

Continue reading