Es sencillo con Maven en el mundo de Java
mvn clean deploy
En nuestra configuración, esto hace todo el desarrollo necesario del archivo WAR (agregando las dependencias JAR según sea necesario), la implementación en el servidor web de desarrollo y la creación de datos de prueba enlatados en la base de datos de desarrollo. Una vez que está en su lugar, Maven maneja las pruebas funcionales integrales a través de SeleniumRC para verificar que la aplicación funcione.
Este comando único hace que la aplicación se implemente por completo en el clúster del servidor de desarrollo, por lo que está fácilmente disponible para que otros desarrolladores puedan trabajar de inmediato (suponiendo que haya pasado las pruebas). Es inusual que una implementación de desarrollo falle ya que los desarrolladores han verificado que funciona localmente mvn clean install
.
El artefacto de instantánea (WAR) se copia en el repositorio de Maven para compartirlo con otros desarrolladores (según el deploy
comportamiento estándar de Maven ).
De acuerdo, pero solo ha implementado una instantánea para el desarrollo, ¿qué pasa con las pruebas y la producción?
La distribución a los servidores de prueba y (más tarde) de producción se maneja a través del proceso de lanzamiento de Maven que nos gusta manejar manualmente para asegurar que alguien esté atento a cualquier salida sospechosa. Los probadores solo trabajan con artefactos lanzados, no con instantáneas.
Una vez que se lanza, se usa un script de compilación simple para SFTP el archivo WAR al clúster del servidor de prueba, nuevamente con alguien que observa el proceso para asegurarse de que nada salga mal.
Finalmente, después de que todos los probadores estén contentos, el archivo WAR sin cambios se aplica SFTP hasta el clúster del servidor de producción de conmutación por error, con alguien vigilando de cerca y una posición de reversión inmediata en caso de desastre.