2012-03-20 11 views
11

Kunagi to prosta aplikacja internetowa w języku Java, dla której już tworzony jest pakiet binarny .deb dla naszych użytkowników. Ten pakiet zależy od tomcat6 i po prostu umieszcza plik .war w /var/lib/tomcat6/webapps. Działa to świetnie na Debianie i Ubuntu.Jak utworzyć pakiet Debiana dla mojej aplikacji WWW Java?

Teraz chcę stworzyć prawdziwy pakiet źródłowy, który może być zintegrowany z Debianem. Niestety nie mogę znaleźć żadnego samouczka. Istnieje wiele frakcjonowanych informacji na temat narzędzi takich jak CDBS, DH7 lub javahelper i ich poleceń. Ale którego z nich należy użyć?

Mam też kilka pytań koncepcyjnych:

  1. Z reguły, aplikacje internetowe są instalowane poprzez skopiowanie webapp do katalogu pojemnika internetowej webapps. Czy wtedy byłoby dobrze uzależnić moją paczkę od tomcat6 i zainstalować moją aplikację bezpośrednio pod adresem /var/lib/tomcat6/webapps? A może moja aplikacja webapp powinna być zainstalowana gdzieś indziej, zapewniając oddzielną konfigurację Tomcat i uruchamiać ją z własnym użytkownikiem, tak jak robią to inne usługi?

  2. Moja aplikacja korzysta z bibliotek (JAR) z innych projektów. Zwykle są one umieszczane w podkatalogu katalogu webapp WEB-INF/lib. Ponieważ włączenie bibliotek do pakietu nie jest dozwolone w Debianie, czy byłoby właściwe dodanie tych projektów jako zależności do mojego pakietu i utworzenie dowiązań symbolicznych w moim katalogu WEB-INF/lib? Albo jak rozwiązać ten problem?

  3. Moja aplikacja internetowa musi zapisywać pliki (dane aplikacji). Ponieważ Tomcat działa jako użytkownik www-data na Debianie, jedynym katalogiem, w którym moja aplikacja może pisać, jest /var/lib/tomcat6/webapps. Czy to właściwe miejsce na umieszczenie moich danych? A może mój pakiet powinien stworzyć coś w rodzaju /var/lib/my-webapp-name/ i zezwolić na zapis dla użytkownika www-data?

+0

Jaki jest najlepszy sposób informowania deweloperów Debiana o tym pytaniu tutaj? – Witek

+0

masz pakiet deb, aby zwalczyć wojnę na kocur. Czy możesz to udostępnić? Próbujemy zrobić to samo. –

+0

To naprawdę musi być pakiet .deb? Możesz utworzyć docker conatiner (https://www.docker.com/) za pomocą tomcat i twojej aplikacji internetowej. Kontenery działają jak maszyny wirtualne, okno dokowane bud pozwala łatwo wprowadzać zmiany i udostępniać je. Twój klient musi tylko zainstalować docker z repozytorium Debiana i uruchomić jedno polecenie, aby pobrać i uruchomić swój kontener. Mogę podać ci przykład, jeśli można to uznać za rozwiązanie. Twój kontener może już mieć wbudowany tomcat, możesz po prostu zmodyfikować ten publiczny obraz kontenera (https://hub.docker.com/_/tomcat/). – Damian

Odpowiedz

1

Cóż ... Jeśli trzeba utworzyć pakiet Debiana niż istnieje wielka jdeb biblioteka, która działa zarówno ant i maven. Najlepszą opcją jest to, że nie wymaga żadnych wrapperów dpkg, więc twoja kompilacja nie będzie zależna od os.