====== Fábrica - Servicios Web - Integraciones - AdaDeploymentService ====== Este servicio permite realizar el proceso de despliegue de aplicaciones Powerbuilder en la tecnología Appeon el cual define la siguientes fases. * **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. * **Fase 2 (PHASE_2_FULL_BUILD_PB)** - Full Build PB: Realiza la compilación local del código powerbuilder del proyecto. * **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. 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 ===== ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ |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^ |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]]| ^Dependencias^^^^^^^^ ^groupId^artifactId^^version^scope^optional^Descripción^^ |org.springframework.boot|spring-boot-starter-data-rest||N/A|N/A|N/A|API de mapeo de rutas|| |org.springframework.boot|spring-boot-starter-web||N/A|N/A|N/A|Core Servicios Web|| |org.springframework.boot|spring-boot-devtools||N/A|runtime|true|Recarga de aplicaciones|| |org.projectlombok|lombok||N/A|N/A|true|API de anotaciones para reducción de código|| |org.springframework.cloud|spring-cloud-sleuth-zipkin||N/A|N/A|true|API de gestión de logs centralizados|| |org.springframework.boot|spring-boot-starter-test||N/A|test|N/A|Core Springboot|| |org.postgresql|webjars-locator-jboss-vfs||0.1.0|N/A|N/A|Plugins para despliegue en Wildfly|| |org.springframework.boot|spring-boot-starter-tomcat||N/A|provided|N/A|Servidor Embebido Tomcat|| |org.apache.maven.plugins|maven-compiler-plugin||3.8.1|N/A|N/A|Gestor de dependencias|| |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.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^^^^^^^^ ^Tipo^Documentación^^^^^^Visor^ |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/AdaDeploymentService/doc|Directorio Javadoc]]||||||Navegador Web| ^Ambientes de Despliegue^^^^^^^^ ^Tipo^Url^^Observaciones^^^^^ |Desarrollo:|http://localhost:8080||Ambiente de desarrollo||||| |Calidad:|http://localhost:8080||Ambiente de validación||||| |Producción:| ||Ambiente de producción||||| ===== Información Adicional ===== ===== Despliegue ===== ==== Requisitos Técnicos Servidor ==== * Servidor Wildlfy 20 o superior * Java 11 o OpenJDK 11 * S.O. Linux * Ram 4GB o superior * Disco Duro 64 GB * Publicar la URL y Puerto del WildFly === Proceso === Siga los siguientes pasos para utilizar la funcionalidad * 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. * La solución se debe ejecutar en el mismo entorno donde está instalado el appeon developer y powerbuilder. * 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. ===== Ejemplo de generación de despliegue completo ===== ^Http^Url^Request^Response^ |POST|localhost:8080/deployment/generate|Body,raw,json|json| ==== Request ==== { "profileDeploymentName": "DesplieguePruebaPresupuesto", "deploymentPhases": [ "ALL_PHASES" ], "sshHost": "10.1.140.1", "sshPort": 22, "sshUser": "jboss09", "sshPassword": "*********", "powerbuilderExecutablePath": "\"D:\\Program Files (x86)\\Sybase\\PowerBuilder 12.5\\PB125.EXE\"", "powerbuilderWorkspaceProjectPath": "\"D:\\ADA\\SICOF\\Presupuesto\\Fuentes\\Branches\\branches 12.5.2.5.0\\presupuesto.pbw\"", "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": [ { "appeonProfileDeploymentName": "sicoferp_presupuesto_ada_test", "appeonProfileDeploymentDatasource": "db104_presupuesto" } ], "emailToNotificationDeployment": "carlos.torres@ada.co", "emailCcNotificationDeployment": "abdimar.estrada@ada.co", "notes": "Despliegue de Pruebas ADA - Presupuesto", "stopWebServerCommand": "sudo /etc/init.d/jboss09 stop", "startWebServerCommand": "sudo /etc/init.d/jboss09 start" } ^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": 0, "message": "string", "content": {} } ^Columna^Descripcion^ |code|Código de respuesta del proceso| |message|Mensaje de respuesta del proceso| |content|Array de mensajes complementarios del proceso| ==== Códigos de Respuesta ==== ^Código^Mensaje^Acción^ |0|Error en la validación.|Debe consultar el array de mensajes content para más información.| |-1|Error en las ejecución de las fases.|Debe consultar el array de mensajes content para más información.| |1|Despliegue realizado correctamente.|Puede consultar el array de mensajes content para más información.| [[ada:howto:sicoferp:factory:integrations|←Volver atrás]]