Deploy de una aplicación UI5 desde BAS a un Gateway

Seguimos con guías y herramientas de supervivencia para nuestros sistemas gateway cuando estos todavía no estan en la versión adecuada para trabajar integrados con cloud.

En este caso, vamos a ver un complemento que nos permite hacer deploy des de consola de comandos hacia un sistema SAP Gateway. Este complemento también nos puede ser útil para hacer deploys mediante sistemas integrados en la filosofia DevOps, como por ejemplo Jenkins.

El plugin que utilizaremos esta documentado en esta página web:

https://www.npmjs.com/package/ui5-nwabap-deployer-cli

Tambien tenéis la documentación de la mano de su creador en la SAP Community.

https://blogs.sap.com/2021/04/10/cli-to-deploy-ui5-sources-to-an-abap-application-server/

Aunque muy bien documentado, os voy a hacer una guia de deploy ya que en mi caso me encontré con algun problema.

Configuraciones y instalaciones previas

Antes de poder usar el plugin dentro de nuestro BAS necesitamos hacer unas configuraciones básicas para poderlo utilizar.

Instalar el plugin

Lo primero sera instalar el plugin ya que este no viene integrado en nuestro BAS. La instalación es muy sencilla, únicament necesitamos ejecutar el siguiente comando:

npm install -g ui5-nwabap-deployer-cli

Este es el resultado que nos indica que ya tenemos el plugin listo

Configurar una destination

El siguiente paso es configurar una destination para poder conectar nuestro BAS con nuestro sistema gateway. A modo de ejemplo os copio como tiene que estas configurada.

En los parámetros para «WebIDEUsage» añadiremos: odata_abap,dev_abap,ui5_execute_abap,bsp_execute_abap,odata_gen

Configuraciones ADT en SAP Gateway

Si todavía no tenemos desplegadas todas las herramientas del ADT necesitaremos activar el OData responsable del upload de la aplicación en el sistema.

Vamos a la transacción /IWFND/MAINT_SERVICE y activamos el servicio llamado: /UI5/ABAP_REPOSITORY_SRV

Con esto ya tenemos listo el endpoint para enviar nuestra aplicación

Desactivando el profile para antivirus

Este paso es solo para fines educativos, para un sistema productivo o un sistema de desarrollo de una empresa no lo desactivaremos, pero para simplificar el proceso de nuestro Mini SAP casero sí.

Vamos a la transacción /IWFND/VIRUS_SCAN

Desconectamos el escaneo, como comentaba, solo para fines educativos, para fines productivos informaríamos el perfil de antivirus

Deploy de la aplicación

Ya estamos en disposición de ir a nuestro BAS para deployar nuestra aplicación SAPUI5.

Para este ejemplo me salto la parte de crear una aplicación SAPUI5 ya que no tiene mucha relevancia.

En nuestra terminal de BAS vamos a la carpeta donde tenemos la aplicación SAPUI5 y ejecutamos este comando:

npm run build

Esto nos permite generar el directorio «dist» con la aplicación comprimida.

Una vez finalizada la construcción de nuestra APP, ejecutamos el siguiente comando:
ui5-deployer deploy --server http://<<nombre de nuestra destination>>e del package" --bspContainer "nombre de la aplicación" --bspContainerText "Descriptivo" --createTransport true --transportText "Descriptivo de la orden" --transportUseLocked true

Como resultado de la ejecución nos devuelve la orden creada y nos notifica que la aplicación ya esta lista en nuestro sistema.

Si verificamos con la transacción SE80 podemos ver la aplicación ya deployada:

También vemos la orden creada:


Como veis, con este plugin podremos hacer deploys si nuestro sistema gateway no permite el deploy directo des de BAS.

Podéis jugar con los distintos parámetros del plugin si por ejemplo no queréis crear una orden nueva sino reutilizar una existente.

Como siempre suscribete, dale a la campanita de notificaciones y comparte en redes para estar a la última. Vota Like / Dislike para aportar feedback.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.