Es sencillo con Maven en el mundo Java
mvn clean deploy
En nuestra configuración, esto hace toda la construcción necesaria del archivo WAR (extrayendo las dependencias JAR según sea necesario), la implementación en el servidor web dev y la creación de datos de prueba enlatados en la base de datos dev. Una vez que está en su lugar, Maven maneja las pruebas funcionales completas a través de SeleniumRC para verificar que la aplicación funciona.
Este comando único implementa la aplicación completamente en el clúster de servidores de desarrollo, por lo que está disponible para que otros desarrolladores puedan trabajar de inmediato (asumiendo que haya superado las pruebas). Es inusual que una implementación de desarrollo falle ya que los desarrolladores han verificado que funciona localmente con mvn clean install
.
El artefacto de instantánea (WAR) se copia en el repositorio de Maven para compartirlo con otros desarrolladores (según el comportamiento estándar de Maven deploy
).
Está bien, pero solo has implementado una instantánea en dev, ¿qué pasa con la prueba 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 asegurarnos de que alguien esté observando cualquier salida sospechosa. Los probadores solo funcionan con artefactos liberados, no con instantáneas.
Una vez que se publica, se usa un script de compilación simple para SFTP del archivo WAR al grupo de servidores de prueba, otra vez con alguien observando 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 ha SFTP hasta el clúster de servidores de producción de conmutación por error, con alguien vigilando de cerca y una posición de reversión inmediata en su lugar en caso de desastre.