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.
…
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