Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Un reto. ¿Maven & Hudson?

En la actualidad tengo una serie de desarrollos en marcha. Utilizamos una arquitectura IBM RAD+WAS, con tecnología JAVAEE.

Estamos creciendo y hay gente que desarrolla en lugares distintos, pero utilizando los mismos proyectos. El problema está aquí:
* Cuando se actualiza la arquitectura, tenemos que actualizar los proyectos del workspace. Al tenerlos varias personas, dependemos de que uno lo suba primero al CVS y los otros se actualicen.
* Cuando cada desarrollador actualiza un proyecto, tenemos que coordinarnos para no pisarnos en el CVS.
* Cuando tenemos una dependencia nueva, hay que comunicarlo al coordinador para que actualice el proyecto y lo suba al CVS.

Como todos los proyectos contienen la misma arquitectura, nos gustaría que la solución pasase por:
* Que los proyectos solo dispusiesen de los desarrollos, y que la arquitectura dependiente (dojo, xml de configuracion, js, jsp....) estuviese fuera de los proyectos.
* Que los archivos comunes de configuración, como el web.xml y algún otro propio de la arquitectura RAD como es el [.location] o [.classpath] estuviera en un único sitio fuera de los proyectos y comun para todos.
* Que al promocionar a CVS los desarrollos, estos se compilasen ya sí que con la arquitectura actualizada y con las ubicaciones correctas.

Es un proceso de desarrollo distribuido, pero donde todos pueden desarrollar en los mismos proyectos. Aunque nunca desarrollaran el mismo artefacto.

¿Maven se puede utilizar para esto? ¿Que es Hudson?

Saludos!
* Disponer

octubre 22, 2012 | Registered Commenterjerrypf

Si entendí bien, lo que necesitas es un servidor de Integración Continua (llámese Hudson o Jenkins). Revista esta nota:

Integración Continua: Promociones y Líneas de Producción

Para que te des una mejor idea de lo que puedes hacer con estas herramientas.

octubre 23, 2012 | Registered Commenterantoniovl

La problematica que presentas tiene dos vertientes, una de repositorio y otra de integración continua.

* arquitectura dependiente estuviese fuera de los proyectos: Para esto hay que generar extaer a jars y wars los archivos comunes de la arquitectura.Los de configuración, los puedes poner en diferentes ramas. Luego puedes definir en maven que ficheros quieres configurar. Depende de como sea el proyecto igual tienes que hacer algo de scripting (ant) a que maven requiere una organización de directorios que igual no tienes o te es dificil cambiar.

* Para que se compilen automaticamente : hudson/Jetkins y maven. ¿Cual elegir?. Los dos parten del mismo proyecto. Para compilar, ambos te valen igual, aunque jetkins tiene una comunidad mayor. La respuesta anterior te da un buen link para mirar.

octubre 23, 2012 | Registered Commenteraninki

Hola

Para algo muy parecido utilizo yo una infraetrucutra basada en maven + jenkins + archiva
Archiva un repositoiro de librerias y artefactos, muy util
jenkins lo tengo configurado para que trabaje con distintos entornos, es decir, peuda ejecutar tests y desplegar, segun el perfil en entornos diferentes
maven: toda la gestion de librerias e incluso, propiedad muy interesante, filtrado, lo cual me permite tener configuraciones independientes de entorno y me permite tener los ficheros de configuracion fuera de los proyectos y los ficheros de ocnfiguracin de la saplicaciones fuera de los proyectos.

Ahora ya no cambiaria esto pro nada, todo lo conocido seria volver atrás.

Saludos

octubre 23, 2012 | Unregistered CommenterJanfry