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 | SVN branches | 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 | Ver Documento Json | https://editor.swagger.io/ |
Javadoc | 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 |
Despliegue
Requisitos Técnicos Servidor
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
Generar el jar .
-
-
-
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. |
←Volver atrás