Question

Je suis un grand fan de Capistrano, mais je dois développer un script de déploiement automatisé pour une boutique Java uniquement. J'ai examiné Ant et Maven et ils ne semblent pas très bien orientés vers l'administration à distance, contrairement à Capistrano. Ils semblent beaucoup plus axés sur la création et le conditionnement d'applications. Existe-t-il un meilleur outil?

Était-ce utile?

La solution

Je ne pense pas qu'il existe une application de type Capistrano pour les applications Web Java, mais cela ne devrait pas vraiment vous empêcher de l'utiliser (ou des alternatives telles que Fabric) pour déployer vos applications. Comme vous l'avez déjà dit, Ant remplace davantage GNU Make, tandis que Maven est principalement une application de génération / gestion de dépendances.

Les applications Web Java étant moins dépendantes des bibliothèques externes que le conteneur .war, vous pouvez (en fonction de votre serveur d'applications) rendre le déploiement d'une application aussi simple que d'exécuter une simple requête HTTP PUT.

Mais si vous avez besoin d'étapes supplémentaires, Fabric a très bien fonctionné. pour moi jusqu’à présent et je suppose que Capistrano propose également des opérations génériques de commande, de vente et d’obtention de shell. Donc, je ne chercherais pas trop longtemps une alternative si ce que vous avez déjà fonctionne déjà: -)

Autres conseils

Je pense que vous êtes à la recherche de ce contrôle (voir: http://controltier.org ). Bien que controltier n'ait pas besoin d'être exclusivement utilisé pour les déploiements Java.

Voir cet extrait de la documentation (voir:

Dans mon travail, nous utilisons Capistrano exclusivement pour déployer toutes nos applications Java. C'est certainement possible.

Capistrano pourrait déployer toute l’application Web de base. Les déploiements pour les différentes langues sont presque les mêmes:

  1. code de mise à jour
  2. transmettre le code au serveur de production
  3. préparer les fichiers de configuration pour ce déploiement
  4. redémarrez le serveur. (mince, nginx, tomcat)

dans mon entreprise, nous utilisons Capistrano pour déployer des applications java, Vuejs, php, ruby, python.

Ce qui est intéressant, c’est que l’idée de Repistr de Capistrano suppose que vous avez affaire à un SCM (Source Control Manager). La structure sur le serveur et le contrôle de version associé de l'application fonctionnent sur la source de l'application. Cela a du sens pour un langage interprété.

Dans un langage compilé tel que Java, cependant, la gestion des versions et des branches est antérieure au déploiement et au moment où l'application est compilée et construite, le système de contrôle de la source est déjà laissé derrière et le résultat est un fichier jar ou tar avec une version à contenir. L'application. En règle générale, cette archive (jar + config) est publiée dans un référentiel d'artefacts Maven tel que Nexus ou Artifactory.

Étonnamment, ce dépôt d'artefacts est bien lié au dépôt Capistrano. À la place du SCM, nous pouvons traiter cette archive comme le SCM (la source à verser). Dans cet esprit, j'ai mis en place un plug-in Capistrano SCM pour le dépôt d'artefacts Maven . C'est nouveau mais ça fonctionne plutôt bien.

Il unifie nos projets Ruby et Java sur un seul outil et, plus important encore, il apporte la puissance du SSHKit de Capistrano à la réalisation de nos projets Java.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top