Automatizando el BUILD ALL de la KB
El jueves de la semana que viene, estaremos hablando de Integración Continua con GeneXus, en la Mesa Redonda Virtual del GUG Montevideo.
La idea es contar experiencias de integrar los cambios que se hacen en el grupo de desarrollo varias veces al dia, de forma de poder detectar conflictos y errores lo mas rapido posible y lo mas cercano posible a su generación.
Para esto, es fundamental tener automatizada la tarea del BUILD ALL en GeneXus. Varias personas me han preguntado como puede hacerse esto.
GeneXus provee tareas MSBUILD para realizar este trabajo en forma batch
Una forma simple de usarlo es tener dos archivos:
KBBuildAll.cmd
set KBDir=C:\MODELS\EV3\MIKB
La idea es contar experiencias de integrar los cambios que se hacen en el grupo de desarrollo varias veces al dia, de forma de poder detectar conflictos y errores lo mas rapido posible y lo mas cercano posible a su generación.
Para esto, es fundamental tener automatizada la tarea del BUILD ALL en GeneXus. Varias personas me han preguntado como puede hacerse esto.
GeneXus provee tareas MSBUILD para realizar este trabajo en forma batch
Una forma simple de usarlo es tener dos archivos:
KBBuildAll.cmd
set KBDir=C:\MODELS\EV3\MIKB
set dirGX="C:\Program Files (x86)\Artech\GeneXus\GeneXusXE3" set ForceRebuild=true dirFramework=C:\Windows\Microsoft.NET\Framework\v4.0.30319 echo ---------------------------------- set /p Cancel="Rebuild %KBDir% ? (PRESS Ctrl-C to CANCEL - Any Key to CONTINUE) " %dirFramework%\MSBuild /nologo KBBuildall.msbuild /p:KBDir=%KBDir%;GXDir=%DirGx%;ForceRebuild=%ForceRebuild% /t:Rebuild
y KBBuildAll.msbuild
Con esto se puede ejecutar en forma batch el proceso.
Se deja como tarea para el lector, generar un log y mandarlo por mail.
<Project DefaultTargets="Rebuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(GXDir)\Genexus.Tasks.targets" /> <Import Project="$(GXDir)\Genexus.Server.Tasks.targets" /> <Target Name="OpenKnowledgeBase"> <OpenKnowledgeBase Directory="$(KBDir)"/> </Target> <Target Name="Rebuild" DependsOnTargets="OpenKnowledgeBase"> <BuildAll ForceRebuild="$(ForceRebuild)" CompileMains="true" DetailedNavigation="false" /> </Target> </Project>
Con esto se puede ejecutar en forma batch el proceso.
Se deja como tarea para el lector, generar un log y mandarlo por mail.
Comentarios
Publicar un comentario
1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.