2010-08-04 24 views
6

Chúng tôi đang trong quá trình điều chỉnh quy trình phát hành & xây dựng của một trong các sản phẩm dựa trên Java của chúng tôi để hỗ trợ các bản phát hành bản vá/hotfix.Hotfix/Patch build & cách tiếp cận phân phối

Hôm nay, chúng tôi cung cấp gói cài đặt đầy đủ (là bộ gói RPM được bao bọc trong ISO) ra khỏi đường ống xây dựng của chúng tôi. Tuy nhiên, chúng tôi cũng hướng đến việc hỗ trợ các gói nâng cấp/vá lỗi tăng thêm/hạt mịn.

Để giữ mọi thứ đơn giản như bước ban đầu, chúng tôi dự định có gói RPM chi tiết hơn và gói một tập hợp con (chỉ những thay đổi trong phạm vi bản phát hành) của các RPM này trong hotfix chuyên dụng ISO cùng với cài đặt đầy đủ ISO. (Chúng tôi cũng đã xem xét các tùy chọn khác như RPM khác biệt - RPM đồng bằng - tạo RPM riêng biệt v.v.)

Tôi muốn biết cách bạn quản lý đường ống xây dựng - bao bì và kiểm soát phiên bản (vì đây là cốt lõi vấn đề quản lý bản phát hành) để hỗ trợ loại triển khai hotfix này?

Trả lời

1

Tôi muốn nghe về cách bạn quản lý xây dựng đường ống dẫn của bạn - bao bì và kiểm soát phiên bản

tôi giới thiệu một khái niệm (làm việc):

Một báo cáo lỗi như một xác định như bug711 tất cả các nguồn được chạm để khắc phục lỗi này sẽ được gắn thẻ (Kiểm soát phiên bản) với báo cáo lỗi số.

Thẻ này có thể được sử dụng để kiểm tra tất cả các nguồn cần thiết để tạo bản vá (Trong trường hợp tệp tĩnh như html, js, css, v.v.) và hợp nhất từ ​​các chi nhánh vào bản sửa đổi đầu.

Trong trường hợp mã java tối thiểu để triển khai sẽ là một tạo tác (jar, tai, chiến tranh-tệp). Yêu cầu khởi động lại ứng dụng. Trong trường hợp của JBoss Application Server, chúng tôi phát hiện ra rằng triển khai 'bùng nổ' cho phép chúng ta vá mà không có thời gian chết.

Nó thực sự phụ thuộc vào môi trường máy chủ và loại ứng dụng tiếp cận sẽ hoạt động tốt nhất cho bạn. Tôi sợ rằng không có thực hành tốt nhất.

+0

Theo tôi hiểu, bạn thu thập tất cả các tạo tác nhị phân đã thay đổi trong một đơn vị triển khai Java. Java jar/chiến tranh này có phải là đơn vị giống như bạn có trong một bản xây dựng thông thường, hay nó thực sự vá cụ thể? Nếu nó là bản vá cụ thể thì làm thế nào để bạn đảm bảo rằng các đồ tạo tác trong cái bình đó đi đến đúng vị trí trong thư mục JBoss đã phát nổ của bạn? Một điều khó khăn nữa là làm cách nào để bạn theo dõi bản vá nào được cài đặt trên hệ thống khách hàng? (Chúng tôi sử dụng các phiên bản RPM và một tệp chuyên dụng để theo dõi việc này) – Erdem

+0

Các bản vá chỉ chứa một vài tệp để sửa lỗi. Jar/chiến tranh được xây dựng theo cùng một cách như toàn bộ phiên bản (70 hiện vật) và được đặt trong một kho lưu trữ phiên bản. Để khắc phục lỗi chỉ các tệp có liên quan sẽ được cài đặt, ít công việc hơn cho QA. Các bản vá được xây dựng tự động bằng cách thanh toán với báo cáo lỗi # và được theo dõi trong một db. (kiểm tra, phát hành, cài đặt ...) – stacker

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