2012-03-20 6 views
11

Kunagi est une application Web Java simple pour laquelle nous créons déjà un package binaire .deb pour nos utilisateurs. Ce paquet dépend de tomcat6 et met simplement le fichier .war dans /var/lib/tomcat6/webapps. Cela fonctionne très bien sur Debian et Ubuntu.Comment créer un paquet Debian pour mon application Web Java?

Maintenant je veux créer un paquet source réel qui peut être intégré à Debian. Malheureusement, je ne trouve aucun tutoriel. Il y a beaucoup d'informations fractionnées sur des outils comme CDBS, DH7 ou javahelper et leurs commandes. Mais lequel devrais-je utiliser?

J'ai aussi quelques questions conceptuelles:

  1. usualy, les applications Web sont installés en copiant le webapp dans le répertoire webapps du conteneur Web. Serait-il alors juste de faire dépendre mon paquet sur tomcat6 et d'installer ma webapp directement dans /var/lib/tomcat6/webapps? Ou est-ce que ma webapp devrait être installée ailleurs, fournissant une configuration Tomcat séparée et exécutée avec son propre utilisateur, comme le font d'autres services?

  2. Ma webapp utilise des bibliothèques (JAR) provenant d'autres projets. Habituellement, ils sont placés dans le sous-répertoire WEB-INF/lib du répertoire webapp. Étant donné que l'inclusion de bibliothèques dans un paquet n'est pas autorisée dans Debian, est-ce que ce serait correct d'ajouter ces projets en tant que dépendances dans mon paquet et de créer des liens symboliques dans mon répertoire WEB-INF/lib? Ou comment pourrais-je résoudre ce problème? Mon webapp a besoin d'écrire des fichiers (données d'application)

  3. Étant donné que Tomcat s'exécute en tant qu'utilisateur www-data sur Debian, le seul répertoire où ma webapp peut écrire est . Est-ce le bon endroit pour mettre mes données? Ou mon paquet doit-il créer quelque chose comme /var/lib/my-webapp-name/ et accorder des permissions d'écriture pour l'utilisateur www-data?

+0

Quelle est la meilleure façon d'informer les développeurs Debian sur cette question ici? – Witek

+0

vous avez un paquet deb pour mettre la guerre sur tomcat. Pourriez-vous partager cela? Nous essayons de faire la même chose. –

+0

Il doit vraiment être un paquet .deb? Vous pouvez créer un docker conatiner (https://www.docker.com/) avec tomcat et votre webapp. Les conteneurs fonctionnent comme des machines virtuelles, le docker de bourgeon vous permet de faire des changements facilement et de les partager. Votre client a juste besoin d'installer docker à partir du référentiel Debian et d'exécuter une commande pour télécharger et exécuter votre conteneur. Je peux vous donner un exemple si cela peut être considéré comme une solution. Votre conteneur peut déjà avoir embarqué tomcat, vous pouvez simplement modifier cette image de conteneur publique (https://hub.docker.com/_/tomcat/). – Damian

Répondre

1

Eh bien ... Si vous devez créer un paquet Debian que il y a une grande bibliothèque jdeb qui fonctionne à la fois ant et maven. La meilleure caractéristique est qu'il ne nécessite aucun emballage dpkg pour que votre build ne dépende pas de l'os.

Questions connexes