J'ai un processus de déploiement automatisé pour une application Java où actuellement je construis l'application sur une machine de build, vérifiant la construction dans scm, et ayant la machine de production tirer l'artefact de construction (qui est un zip) les fichiers de classe et de configuration à l'endroit où ils sont censés être.Déploiement: Construire sur machine de production ou pas?
J'ai vu d'autres stratégies où la machine de production tire la source de scm et la construit elle-même. La chose que je n'aime pas à propos de l'ancienne approche est que si je construis pour la production au lieu de staging ou dev ou quoi que ce soit, je dois spécifier manuellement l'env dans la construction. Si le serveur cible était en charge de cela, cependant, il y aurait moins de réflexion et de friction impliqués dans la construction. Cependant, j'aime aussi utiliser exactement la même construction que celle qui était testée lors de la mise en scène. Donc, je suppose que ma question est, est-il préférable de copier l'application déjà construite/déjà testée en production ou d'avoir la production construire l'application à nouveau une fois qu'il a été testé.