C'est simple avec Maven dans le monde Java
mvn clean deploy
Dans notre configuration, cela fait toute la construction nécessaire du fichier WAR (en tirant les dépendances JAR au besoin), le déploiement sur le serveur Web de développement et la création de données de test prédéfinies sur la base de données de développement. Une fois que c'est en place, Maven gère les tests fonctionnels complets via SeleniumRC pour vérifier le fonctionnement de l'application.
Cette commande unique permet de déployer complètement l'application sur le cluster de serveurs de développement afin qu'elle soit immédiatement disponible pour que les autres développeurs puissent travailler immédiatement (en supposant qu'elle ait réussi les tests). Il est inhabituel qu'un déploiement dev échoue, car les développeurs ont vérifié qu'il fonctionne localement avec mvn clean install
.
L'artefact d'instantané (WAR) est ensuite copié dans le référentiel Maven pour être partagé avec d'autres développeurs (conformément au deploy
comportement Maven standard ).
OK, mais vous n'avez déployé qu'un instantané pour le développement, qu'en est-il du test et de la production?
La distribution aux serveurs de test et de production (plus tard) est gérée par le processus de publication de Maven que nous aimons gérer manuellement pour garantir que quelqu'un surveille toute sortie suspecte. Les testeurs ne fonctionnent qu'avec les artefacts publiés, pas les instantanés.
Une fois qu'il est sorti, un simple script de construction est utilisé pour SFTP le fichier WAR vers le cluster de serveur de test, encore une fois avec quelqu'un qui regarde le processus pour s'assurer que rien ne va mal.
Enfin, une fois que tous les testeurs sont satisfaits, le fichier WAR inchangé est SFTP jusqu'au cluster de serveurs de production de basculement, avec quelqu'un qui surveille de près et une position de restauration immédiate en place en cas de catastrophe.