2012-03-20 40 views
11

Kunagi là một ứng dụng Java Web đơn giản mà chúng tôi đã tạo gói nhị phân .deb cho người dùng của chúng tôi. Gói này tùy thuộc vào tomcat6 và chỉ cần đặt tệp .war vào /var/lib/tomcat6/webapps. Điều này hoạt động tốt trên Debian và Ubuntu.Làm thế nào để tạo một gói Debian cho Ứng dụng Web Java của tôi?

Bây giờ tôi muốn tạo một gói nguồn thực có thể được tích hợp vào Debian. Đáng buồn là tôi không thể tìm thấy bất kỳ hướng dẫn nào. Có rất nhiều thông tin về các công cụ như CDBS, DH7 hoặc javahelper và các lệnh của chúng. Nhưng tôi nên sử dụng cái nào?

Tôi cũng có một số câu hỏi về khái niệm:

  1. Thông thường, các ứng dụng web được cài đặt bằng cách sao chép các ứng dụng web vào webapps thư mục của những trang web chứa. Sau đó, tôi có quyền làm cho gói của tôi phụ thuộc vào tomcat6 và cài đặt ứng dụng web của tôi trực tiếp vào /var/lib/tomcat6/webapps không? Hay webapp của tôi nên được cài đặt ở một nơi khác, cung cấp một cấu hình Tomcat riêng và chạy với người dùng riêng của nó, giống như các dịch vụ khác làm gì?

  2. Ứng dụng web của tôi sử dụng thư viện (JAR) từ các dự án khác. Thường thì chúng được đặt trong thư mục con WEB-INF/lib của thư mục webapp. Vì bao gồm các thư viện trong một gói không được phép trong Debian, tôi có thể thêm các dự án này như các gói phụ thuộc vào gói của tôi và tạo các liên kết tượng trưng trong thư mục WEB-INF/lib của tôi không? Hoặc làm thế nào tôi sẽ giải quyết vấn đề này?

  3. Ứng dụng web của tôi cần ghi tệp (dữ liệu ứng dụng). Vì Tomcat đang chạy với tư cách người dùng www-data trên Debian, thư mục duy nhất mà ứng dụng web của tôi có thể viết là /var/lib/tomcat6/webapps. Đó có phải là nơi thích hợp để đưa dữ liệu của tôi không? Hoặc gói của tôi có nên tạo thứ gì đó như /var/lib/my-webapp-name/ và cấp quyền ghi cho người dùng www-data không?

+0

Cách tốt nhất để thông báo cho nhà phát triển debian về câu hỏi này ở đây là gì? – Witek

+0

bạn có một gói deb để đưa cuộc chiến vào tomcat. Bạn có thể chia sẻ điều đó không? Chúng tôi đang cố gắng làm điều tương tự. –

+0

Nó thực sự cần phải là một gói .deb? Bạn có thể tạo docker conatiner (https://www.docker.com/) với tomcat và webapp của bạn. Các thùng chứa hoạt động như các máy ảo, docker cho phép bạn dễ dàng thay đổi và chia sẻ nó. Khách hàng của bạn chỉ cần cài đặt docker từ kho Debian và chạy một lệnh để tải xuống và chạy vùng chứa của bạn. Tôi có thể cung cấp cho bạn một ví dụ nếu điều này có thể được coi là một giải pháp. Vùng chứa của bạn có thể đã có tomcat được nhúng, bạn chỉ có thể sửa đổi hình ảnh vùng chứa công khai này (https://hub.docker.com/_/tomcat/). – Damian

Trả lời

1

Vâng ... Nếu bạn phải tạo gói Debian hơn là một jdeb thư viện lớn mà làm việc cho cả hai antmaven. Các tính năng tốt nhất là nó không yêu cầu bất kỳ wrapper dpkg để xây dựng của bạn sẽ không phụ thuộc vào os.

Các vấn đề liên quan