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> | + | |