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:
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 surtomcat6
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?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épertoireWEB-INF/lib
? Ou comment pourrais-je résoudre ce problème? Mon webapp a besoin d'écrire des fichiers (données d'application)É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'utilisateurwww-data
?
Quelle est la meilleure façon d'informer les développeurs Debian sur cette question ici? – Witek
vous avez un paquet deb pour mettre la guerre sur tomcat. Pourriez-vous partager cela? Nous essayons de faire la même chose. –
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