Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
|
ada:howto:sicoferp:factory:integrations:msadadeploymentservice [2022/04/04 14:28] administraidor creado |
ada:howto:sicoferp:factory:integrations:msadadeploymentservice [2022/04/04 16:49] (actual) administraidor [Fábrica - Servicios Web - Integraciones - AdaDeploymentService] |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== Fábrica - Servicios Web - Integraciones - AdaEmailService ====== | + | ====== Fábrica - Servicios Web - Integraciones - AdaDeploymentService ====== |
| - | Este servicio permite el envío de correos electrónicos. Actualmente soporta los siguientes servidores de correo: | + | Este servicio permite realizar el proceso de despliegue de aplicaciones Powerbuilder en la tecnología Appeon el cual define la siguientes fases. |
| - | * Ionos | + | * **Fase 1 (PHASE_1_COPY_CONFIG_FROM_REMOTE_TO_LOCAL_SERVER)** - Copia de configuración Remota: Extrae los archivos de configuración del despliegue del servidor appeon al un directorio local. |
| - | * Gmail* | + | * **Fase 2 (PHASE_2_FULL_BUILD_PB)** - Full Build PB: Realiza la compilación local del código powerbuilder del proyecto. |
| - | * Outlook | + | * **Fase 3 (PHASE_3_DEPLOY_APPEON_DEVELOPER)** - Despliegue Appeon: Realiza la compilación del código powerbuilder y genera el despliegue appeon y lo sube al servidor. |
| + | * **Fase 4 (PHASE_4_COPY_CONFIG_FROM_LOCAL_TO_REMOTE_SERVER)** - Copia de configuración Local: Copia la configuración extraida en la fase 1 al servidor appeon. | ||
| + | * **Fase 5 (PHASE_5_RESTART_WEB_SERVER)** - Reiniciar servidor: Reinicia el servidor appeon para que tome los cambios. | ||
| - | //*Requiere generación de clave de aplicaciones// | + | Cada fase puede ser lanzada por separado según necesidad. Sin embargo existe una fase (**ALL_PHASES**) que integra todas las fases. Es decir ejecuta todo el proceso de despliegue. |
| ===== Descripción del Servicio ===== | ===== Descripción del Servicio ===== | ||
| ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ | ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ | ||
| - | |AdaEmailServie|Permite el envío de correos electrónicos.|Rest|SpringBoot 2.6.4|Java 11.0.315|Nuevo|11.6.0.1|application.properties| | + | |AdaDeploymentService|Realiza despliegues Appeon/Powerbuilder.|Rest|SpringBoot 2.6.4|Java 11.0.315|Nuevo|11.6.0.1|application.properties| |
| ^Tipo Empaquetado^Gestor de Dependencias^Servidor de Despliegue^IDE Proyecto^Tipo Repositorio^Url Desarrollo^Url Calidad^Url Producción^ | ^Tipo Empaquetado^Gestor de Dependencias^Servidor de Despliegue^IDE Proyecto^Tipo Repositorio^Url Desarrollo^Url Calidad^Url Producción^ | ||
| - | |war|Maven 3.8.1|WildFly 20|SpringTools 4.6|Subversión|[[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/Microservicios/AdaEmailService | + | |war|Maven 3.8.1|WildFly 20|SpringTools 4.6|Subversión|[[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/Microservicios/AdaDeploymentService|SVN branches]]|[[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/trunk/development/core/Microservicios/AdaDeploymentService|SVN trunk]]|[[|SVN tags]]| |
| - | |SVN branches]]|[[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/trunk/development/core/Microservicios/AdaEmailService | + | |
| - | |SVN trunk]]|[[|SVN tags]]| | + | |
| ^Dependencias^^^^^^^^ | ^Dependencias^^^^^^^^ | ||
| ^groupId^artifactId^^version^scope^optional^Descripción^^ | ^groupId^artifactId^^version^scope^optional^Descripción^^ | ||
| Línea 29: | Línea 29: | ||
| |org.springdoc|springdoc-openapi-ui||1.5.12|N/A|N/A|Plugins para generar documentación Swagger|| | |org.springdoc|springdoc-openapi-ui||1.5.12|N/A|N/A|Plugins para generar documentación Swagger|| | ||
| |org.springframework.boot|spring-boot-starter||N/A|N/A|N/A|Core Springboot|| | |org.springframework.boot|spring-boot-starter||N/A|N/A|N/A|Core Springboot|| | ||
| - | |com.sun.mail|javax.mail||1.6.2|N/A|N/A|Envío de correos|| | + | |org.freemarker|freemarker||N/A|N/A|N/A|Plantillas|| |
| + | |com.jcraft|jsch||0.1.54|N/A|N/A|Conexiones ssh|| | ||
| + | |org.springframework.cloud|spring-cloud-starter-openfeign||N/A|N/A|N/A|Cliente Rest|| | ||
| ^Documentación Operaciones^^^^^^^^ | ^Documentación Operaciones^^^^^^^^ | ||
| ^Tipo^Documentación^^^^^^Visor^ | ^Tipo^Documentación^^^^^^Visor^ | ||
| - | |Swagger|[[http://srv-appeon-000-w23.adacsc.co/AdaEmailService/api-docs|Ver Documento Json]]||||||https://editor.swagger.io/| | + | |Swagger|[[http://localhost:8080/api-docs|Ver Documento Json]]||||||https://editor.swagger.io/| |
| - | |Javadoc|[[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/Microservicios/AdaEmailService/doc|Directorio Javadoc]]||||||Navegador Web| | + | |Javadoc|[[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/Microservicios/AdaDeploymentService/doc|Directorio Javadoc]]||||||Navegador Web| |
| ^Ambientes de Despliegue^^^^^^^^ | ^Ambientes de Despliegue^^^^^^^^ | ||
| ^Tipo^Url^^Observaciones^^^^^ | ^Tipo^Url^^Observaciones^^^^^ | ||
| |Desarrollo:|http://localhost:8080||Ambiente de desarrollo||||| | |Desarrollo:|http://localhost:8080||Ambiente de desarrollo||||| | ||
| - | |Calidad:|http://srv-appeon-000-w23.adacsc.co/AdaEmailService||Ambiente de validación||||| | + | |Calidad:|http://localhost:8080||Ambiente de validación||||| |
| |Producción:| ||Ambiente de producción||||| | |Producción:| ||Ambiente de producción||||| | ||
| Línea 55: | Línea 57: | ||
| * Publicar la URL y Puerto del WildFly | * Publicar la URL y Puerto del WildFly | ||
| - | === Notas === | + | === Proceso === |
| + | Siga los siguientes pasos para utilizar la funcionalidad | ||
| - | * Debe contar con VPN | + | * Antes de iniciar debe asegurarse que el servidor appeon contiene un despliegue previo para que se pueda extraer la configuración. Ya que appeon genera unas claves de control. |
| - | * Ejemplo de Consumo QA - Index: http://srv-appeon-000-w23.adacsc.co/AdaEmailService | + | * La solución se debe ejecutar en el mismo entorno donde está instalado el appeon developer y powerbuilder. |
| - | * Ejemplo de consumo QA - Doc Swagger: http://srv-appeon-000-w23.adacsc.co/AdaEmailService/api-docs | + | * El puerto por defecto de la solución es 8080. Se puede modificar en el application.properties y volver a [[ada:howto:sicoferp:factory:integrations:deployspringboot|Generar el jar]] . |
| + | * [[ada:howto:sicoferp:factory:integrations:deployspringboot|Desplegar como jar]] | ||
| + | * Validar Ejemplo de Consumo - Index: http://localhost:8080/ | ||
| + | * Validar Documentación Swagger: http://localhost:8080/api-docs | ||
| + | * Realizar despliegue de prueba. | ||
| - | ===== Ejemplos de envio de correos ===== | + | ===== Ejemplo de generación de despliegue completo ===== |
| - | ==== Envio servidor Ionos ==== | + | ^Http^Url^Request^Response^ |
| + | |POST|localhost:8080/deployment/generate|Body,raw,json|json| | ||
| + | |||
| + | ==== Request ==== | ||
| <code yaml> | <code yaml> | ||
| { | { | ||
| - | "smtpHost": "smtp.ionos.com", | + | "profileDeploymentName": "DesplieguePruebaPresupuesto", |
| - | "smtpPort": 587, | + | "deploymentPhases": [ |
| - | "smtpAuth": "true", | + | "ALL_PHASES" |
| - | "smtpMailUser": "email.test@ada.co", | + | ], |
| - | "smtpMailPassword": "password", | + | "sshHost": "10.1.140.1", |
| - | "smtpStartTlsEnabled": false, | + | "sshPort": 22, |
| - | "smtpSessionDebug": true, | + | "sshUser": "jboss09", |
| - | "subject": "Título de Prueba", | + | "sshPassword": "*********", |
| - | "content": "Contenido de prueba", | + | "powerbuilderExecutablePath": "\"D:\\Program Files (x86)\\Sybase\\PowerBuilder 12.5\\PB125.EXE\"", |
| - | "html": false, | + | "powerbuilderWorkspaceProjectPath": "\"D:\\ADA\\SICOF\\Presupuesto\\Fuentes\\Branches\\branches 12.5.2.5.0\\presupuesto.pbw\"", |
| - | "toEmail": [ | + | "powerbuilderTargetProjectPath": "\"D:\\ADA\\SICOF\\Presupuesto\\Fuentes\\Branches\\branches 12.5.2.5.0\\presupuesto.pbt\"", |
| + | "appeonRepositoryConfigDirectory": "/opt/jboss09/appeon/repository/standalone/config/", | ||
| + | "appeonDeveloperExecutablePath": "\"C:\\Program Files (x86)\\Appeon\\Developer2016\\EonADeploy60.exe\"", | ||
| + | "appeonProfileDeployment": [ | ||
| { | { | ||
| - | "address": "notififacionTo.test@ada.co", | + | "appeonProfileDeploymentName": "sicoferp_presupuesto_ada_test", |
| - | "persona": "Notificación To" | + | "appeonProfileDeploymentDatasource": "db104_presupuesto" |
| } | } | ||
| ], | ], | ||
| - | "ccEmail": [ | + | "emailToNotificationDeployment": "carlos.torres@ada.co", |
| - | { | + | "emailCcNotificationDeployment": "abdimar.estrada@ada.co", |
| - | "address": "notififacionCc.test@ada.co", | + | "notes": "Despliegue de Pruebas ADA - Presupuesto", |
| - | "persona": "Notificación Cc" | + | "stopWebServerCommand": "sudo /etc/init.d/jboss09 stop", |
| - | } | + | "startWebServerCommand": "sudo /etc/init.d/jboss09 start" |
| - | ], | + | |
| - | "bccEmail": [ | + | |
| - | { | + | |
| - | "address": "notififacionBcc.test@ada.co", | + | |
| - | "persona": "Notificación Bcc" | + | |
| - | } | + | |
| - | ] | + | |
| } | } | ||
| </code> | </code> | ||
| - | ==== Envio servidor Outlook ==== | + | ^Columna^Descripcion^ |
| + | |profileDeploymentName|Nombre de la tarea de despliegue.| | ||
| + | |temporaryDeploymentProcessingDirectoryPath|Directorio temporal que se utilizará para la generación de archivos del depsliegue. Esta propiedad no es obligatoria y si no se envía se utilizará un directorio temporal.| | ||
| + | |deploymentPhases|Array de cadenas que contienen las fases del depsliegue las cuales son: PHASE_1_COPY_CONFIG_FROM_REMOTE_TO_LOCAL_SERVER, PHASE_2_FULL_BUILD_PB, PHASE_3_DEPLOY_APPEON_DEVELOPER, PHASE_4_COPY_CONFIG_FROM_LOCAL_TO_REMOTE_SERVER, PHASE_5_RESTART_WEB_SERVER. Si desea ejecutar todas las fases sólo debe enviar la fase ALL_PHASES| | ||
| + | |deploymentExcludePhases|Array de fases que pueden ser excluidas del despliegue. Es utilizada cuando ejecutamos la fase ALL_PHASES| | ||
| + | |sshHost|Dirección Ip de la conexión ssh| | ||
| + | |sshPort|Puerto de la conexión ssh| | ||
| + | |sshUser|Usuario de la conexión ssh. Debe tener permisos de lectura/escritura.| | ||
| + | |sshPassword|Contraseña del usuario de la conexión ssh| | ||
| + | |powerbuilderExecutablePath|Ruta del ejecutable powerbuilder. Si el path tiene espacios deben encapsularse en cadenas "" y separadores \\| | ||
| + | |powerbuilderWorkspaceProjectPath|Ruta del workspace del proyecto powerbuilder. Si el path tiene espacios debe encapsularse en cadenas "" y separadores \\| | ||
| + | |powerbuilderTargetProjectPath|Ruta del target(proyecto) powerbuilder. Si el path tiene espacios debe encapsularse en cadenas "" y separadores \\| | ||
| + | |powerbuilderTargetProjectPath|Ruta del target(proyecto) powerbuilder. Si el path tiene espacios debe encapsularse en cadenas "" y separadores \\| | ||
| + | |appeonRepositoryConfigDirectory|Ruta del directorio appeon donde se guarda la configuración. Si el path tiene espacios debe encapsularse en cadenas "" y separadores \\| | ||
| + | |appeonDeveloperExecutablePath|Ruta del ejecutable appeon. Si el path tiene espacios debe encapsularse en cadenas "" y separadores \\| | ||
| + | |appeonProfileDeployment|Array que contiene los perfiles de despliegue que se van a generar. Solo puede enviar despliegues de un mismo proyecto. Cada depsliegue requiere nombre del despliegue y datasource.| | ||
| + | |emailToNotificationDeployment|Correo principal de notificación de despliegue.| | ||
| + | |emailCcNotificationDeployment|Correo de copia de notificación de despliegue.| | ||
| + | |emailBccNotificationDeployment|Correo de copia oculta de notificación de despliegue.| | ||
| + | |notes|Nota asociada al proceso de despliegue.| | ||
| + | |stopWebServerCommand|Comando de parada del servidor de despliegue.| | ||
| + | |startWebServerCommand|Comando de inicio del servidor de despliegue.| | ||
| + | ==== Response ==== | ||
| <code yaml> | <code yaml> | ||
| { | { | ||
| - | "smtpHost": "smtp.outlook.com", | + | "code": 0, |
| - | "smtpPort": 587, | + | "message": "string", |
| - | "smtpAuth": "true", | + | "content": {} |
| - | "smtpMailUser": "correo", | + | |
| - | "smtpMailPassword": "password", | + | |
| - | "smtpStartTlsEnabled": true, | + | |
| - | "smtpSessionDebug": true, | + | |
| - | "subject": "Prueba", | + | |
| - | "content": "Ejemplo", | + | |
| - | "html": false, | + | |
| - | "toEmail": [ | + | |
| - | { | + | |
| - | "address": "correo", | + | |
| - | "persona": "persona" | + | |
| - | } | + | |
| - | ], | + | |
| - | "ccEmail": [ | + | |
| - | { | + | |
| - | "address": "correo copia", | + | |
| - | "persona": "Persona Copia" | + | |
| - | } | + | |
| - | ], | + | |
| - | "bccEmail": [ | + | |
| - | { | + | |
| - | "address": "Correo copia oculta", | + | |
| - | "persona": "Persona copia oculta" | + | |
| - | } | + | |
| - | ] | + | |
| } | } | ||
| </code> | </code> | ||
| - | ==== Envio servidor Gmail ==== | + | ^Columna^Descripcion^ |
| + | |code|Código de respuesta del proceso| | ||
| + | |message|Mensaje de respuesta del proceso| | ||
| + | |content|Array de mensajes complementarios del proceso| | ||
| - | <code Yaml> | + | ==== Códigos de Respuesta ==== |
| - | { | + | |
| - | "smtpHost": "smtp.gmail.com", | + | ^Código^Mensaje^Acción^ |
| - | "smtpPort": 587, | + | |0|Error en la validación.|Debe consultar el array de mensajes content para más información.| |
| - | "smtpAuth": "true", | + | |-1|Error en las ejecución de las fases.|Debe consultar el array de mensajes content para más información.| |
| - | "smtpMailUser": "correo", | + | |1|Despliegue realizado correctamente.|Puede consultar el array de mensajes content para más información.| |
| - | "smtpMailPassword": "clave aplicacion", | + | |
| - | "smtpStartTlsEnabled": true, | + | |
| - | "smtpSessionDebug": true, | + | |
| - | "subject": "Prueba", | + | |
| - | "content": "Ejemplo", | + | |
| - | "html": false, | + | |
| - | "toEmail": [ | + | |
| - | { | + | |
| - | "address": "Correo", | + | |
| - | "persona": "Persona" | + | |
| - | } | + | |
| - | ], | + | |
| - | "ccEmail": [ | + | |
| - | { | + | |
| - | "address": "Correo copia", | + | |
| - | "persona": "Persona copia" | + | |
| - | } | + | |
| - | ], | + | |
| - | "bccEmail": [ | + | |
| - | { | + | |
| - | "address": "Correo copia oculta", | + | |
| - | "persona": "Persona copia oculta" | + | |
| - | } | + | |
| - | ] | + | |
| - | } | + | |
| - | </code> | + | |