Triển khai song song Tomcat, tự động triển khai các ứng dụng cũ


10

Bây giờ tôi đã sử dụng Triển khai song song của Tomcat 8 như một phần của thiết lập triển khai liên tục không thời gian chết trong một thời gian.

Khi găng tay kiểm tra đã được chạy, máy chủ CI sẽ tự động đổi tên tệp .war thành ứng dụng ## {phiên bản số} .war và sao chép cuộc chiến vào thư mục / webapp. ứng dụng ## 333 sẽ cùng tồn tại độc đáo với ứng dụng ## 332.

Vấn đề duy nhất mà tôi gặp phải là tôi phải tự triển khai các ứng dụng cũ một khi tất cả lưu lượng truy cập (phiên mới) đã tự động chuyển sang ứng dụng mới.

Tomcat có một số cơ chế tích hợp sẵn để nói "này, khi dịch vụ này giảm xuống còn 0 phiên thì nên gỡ bỏ"? Có lẽ một số loại sự kiện "phiên cuối cùng vừa hết hạn" mà tôi có thể tham gia.

Nếu bất cứ ai khác đã tự động loại ứng dụng này không triển khai, tôi rất thích nghe về nó. Cảm ơn!

Câu trả lời:


9

Bạn có thể cấu hình Tomcat để xóa các ứng dụng cũ. Bạn cần thêm undeployOldVersionsthuộc tính cho thành Hostphần và đặt thành true. Bạn sẽ cần sửa đổi máy chủ lưu trữ của mình trong server.xml thành một cái gì đó như sau:

<Host undeployOldVersions="true" ...>
   ...
</Host>

Xem tài liệu lưu trữ để biết chi tiết. Đặc biệt, điều này chỉ hoạt động khi bật triển khai tự động.


Bạn đang chạy phiên bản nào của Tomcat? Tôi có Tomcat 8.5.6 và điều này không hoạt động. Tôi đã kích hoạt FarmWarDeployer và các bản phát hành mới sẽ tự động được triển khai. Tuy nhiên, sau khi bật undeployOldVersions trên thẻ Máy chủ, các tệp chiến tranh cũ hơn (và triển khai) sẽ không bị xóa.
Piko

Có tiến triển nào về điều này với Tomcat 8 không?
JimmyD

1
Tính năng này được triển khai cho Tomcat 8. Nếu bạn gặp vấn đề khi sử dụng FarmWarDeployer thì hãy mở một lỗi, với các bước để tạo lại, vì vậy nó sẽ được xem xét.
Mác Thomas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.