Build and deploy
-
Upload
enrique-almeida -
Category
Technology
-
view
979 -
download
9
description
Transcript of Build and deploy
BUILD & DEPLOYCONCEPTO
Agenda
• Motivaciones
• Ejemplos de build
• Demo
• Dificultades Actuales
Motivación
• Mejorar la productividad U$S/Persona
PruebasDesarrollo
Pgmr1
Pgmr2
Pgmr3
GXServerBUILD
SERVER
Automáticas Manuales
BATCH WEB WebSvc
BD
aprobación
SERVICE
REORG RN-Novedades Batch Web Svc
PRODUCCION
Instrucciones/script
Servidor
ServidorServidor
BD
LUCIA C# / Oracle / 7000 objetos
10 partes / 10 servers x 1 cliente
Varias veces al día
De noche o a demanda
Una vez a la semana
Frecuencia LUCIA
Desarrollo GXServer Pruebas Producción
Partes de Lucia
• CONSOLIDBATCH
– Tiene todo lo corrido por los schedulers y Teledespacho. Todas las tareas batch
• LUCIAX (BIN Y RAIZ)
– Tiene todo las consultas corridas por usuarios. Tiene usuario y contraseña.
• LUCIAPUB (BIN Y RAIZ)
– Tiene todas las consultas publicas de Aduanas. Tiene acceso anonimo habilitado.
• LUCIAWS
– Tiene todos los webservices del sistema.
• LUCIAWSPR
– WebServices de Precintos Electronicos
• LUCIAWSPriv
– Webservices de uso interno
• LUCIAWSSMS
– Recepcion y envio de SMS con Antel
• LUCIAWSDAEc
– Web services de DAE, Documento Aduanero Electronico (xml firmado digitalmente)
• MercosurConsultas
– Consultas del Mercosur
• MercosurWebServices
– WebServices del Mercosur.
División de una KB
• Performance
• Seguridad
• Estabilidad
• Multiples Clientes
• Escalabilidad
Demo
HERRAMIENTAS USADAS
• MSBUILD
• XCOPY
• Zip
• DEPLOYMENT WIZARD (JAVA)
• Comparador de Archivos
• Comparador de navegaciones
Pgmr1
Pgmr2
GXServer
Pruebas
BUILDSERVER
Manuales
BATCH WEB
BD
REORG RN-Novedades Batch Web
PRODUCCION
Instrucciones/script
ServidorServidor
BD
METRICASC# / SQLServer / 800 objetos2 instalaciones (internas)
Varias veces al diapocos dias a la semana
Cada una hora
Cada 15 dias o un mes
Frecuencia METRICAS
Desarrollo GXServer Pruebas Producción
Desarrollo
Pgmr1
Pgmr2
Pgmr3
GXServer
Pruebas
BUILDSERVER
Manuales
BATCH WEB WebSvc
BD
aprobación
UPDATE
REORG RN-Novedades Batch Web Svc
CLIENTE 1
Instrucciones/script
Servidor
ServidorServid
orBD
SIGE Java / SQLServer / 6000 objetos
CLIENTE 2Servid
or
ServidorServid
orBD
6 partes / 10 clientes
Varias veces al dia
Cada mes
Cada mes
Frecuencia SIGE
Desarrollo GXServer Pruebas Producción
Dificultades en Build Demoras en build
Dificultad en definir DeployUnits
Call entre DeployUnits / Dependencias
Recuperar propiedades de la KB desde BAT/MSBuild
Logs de builds (fechas y bloqueos)
Manejo de Instalaciones GeneXus
•Propiedades
•User Controls
•Extensiones
•DKT
GXServer
•Updates grandes no se pueden hacer
•Timeouts
Dificultades Deploy
DLL externas, objetos externos, UC, etc
Cambio de nombres (al cambiar GX)
Nomenclatura de dlls o class (_BC para Business component, primera letra en los objetos main…)
Momentos de congelar versiones (etiquetas en GXServer)
Des
arro
lloZIP
WARZIP
WARZIP
WAR
KB
INTE
GR
AD
A
REORG
SCRIPT
RELEASENOTES
GX
SER
VER
PRUEBA
Webappvirtual dir
Webappvirtual dir
Webappvirtual dir
Análisis deImpacto
WSDLMains
DB
PRUEBAS (AUT/MAN)
Nueva Version
CongeloModelo al estado inicial
Chequeos staticosSeguridad/kbdoctor
ZIPWAR
ZIPWAR
ZIPWAR
REORG
SCRIPT
RELEASENOTES
Incremental (solo cambios)Total (instalación completa)Reorg y/o Create DatabaseGuardar HistoriaVersionado
CLIENTES
Webappvirtual dir
Webappvirtual dir
Webappvirtual dir
DB
No generadasGenexus
Dificultades de Nomenclatura
Conjuntos de main que se instalan agrupados.
• Propuestas: DeployUnit, Location,
Conjunto de ejecutables, reorg, documentación y scripts a instalar
• Propuestas: Setup
Lugar donde se instala un grupo de mains
• WebApp, VirtualDir, Dir
Conjunto de servidores que tienen una versión del producto desarrollado
• Instalacion
Pasaje de DeployUnit al ambiente de Pruebas
• Deploy a pruebas o cliente
Momento de DeployEn desarrollo
Propuesta de Modelo de datos
Module DeployUnit
Server/Dir/URI
Installation
Customer
Package
Conclusiones
Hay mucho para mejorar
Se necesitan herramientas
• Comparación de navegaciones
• Comparación de WSDL/REST
• Nombres de mains / mains borrados
• Chequeo de seguridad
• Borrar lo no alcanzable/Instalable/Pruebas
• Generación de Releases Notes
• Lenguaje de scripting para coordinar tareas