Sản phẩm phần mềm của chúng tôi được tạo thành từ nhiều phần. Giả sử nó được làm bằng một phần trình điều khiển nhân, một dll người dùng và một phần mềm GUI. Trong quá trình phát triển, chúng tôi đang biên dịch và sử dụng tất cả chúng trong các phiên bản mới nhất, nhưng nó không giống nhau khi nói đến bản phát hành.Những công cụ nào tồn tại để giúp thu thập các yếu tố phần mềm khác nhau vào bản phát hành phần mềm hoàn chỉnh?
Thật vậy, phần hạt nhân phải được đóng băng sớm hơn phần kia. Sau đó, dll được đông lạnh, để có được thử nghiệm rộng rãi, và cuối cùng đông lạnh là GUI. Khi các tiến bộ của QA, chúng ta cần tạo các phiên bản mới hơn của bản phát hành đầy đủ với một GUI cố định, nhưng vẫn sử dụng trình điều khiển hạt nhân đã bao gồm trước đó và dll.
Tôi đã tự hỏi nếu có một công cụ tồn tại, điều đó sẽ quản lý phiên bản nào của từng phần phần mềm được sử dụng để tạo bản phát hành?
Công cụ này có thể tích hợp vào chuỗi công cụ, để xây dựng phiên bản của từng phần mềm được chọn và tập hợp chúng vào bộ cài đặt Windows hoặc gói Linux.
Chỉnh sửa: Chúng ta đang làm gì bây giờ?
Hiện tại, chúng tôi đang sử dụng SVN với công cụ xây dựng như công cụ CI cho Linux/gcc và Windows/VStudio. Chúng tôi đang ở chế độ nơi toàn bộ kho lưu trữ được phân nhánh/được gắn thẻ khi cần. Nhưng điều này làm tổn thương và làm cho quá trình phát hành trở nên đau đớn vì bây giờ có nhiều phần mềm tương đối độc lập hơn.
Chúng tôi đang nghĩ đến việc thay đổi bố cục kho lưu trữ để có một số dự án được phân nhánh/gắn thẻ độc lập. Điều này sẽ phù hợp hơn với chu kỳ phát triển và phát hành phần mềm. Nhưng sau đó, chúng tôi hoàn toàn sẽ cần một công cụ như vậy.
Sự cố liên quan đến việc có các phần mềm khác nhau, mỗi phần có các phiên bản được phân nhánh/gắn thẻ riêng, được tập hợp thành bản phát hành phần mềm đầy đủ.
Chỉnh sửa: Điều cần thiết.
Cuối cùng, tôi hiểu những gì tôi cần là trình quản lý gói cho Windows. Trình quản lý gói theo nghĩa của RPM hoặc trình quản lý DEB trên Linux.
Có ai biết về người quản lý gói trên Windows không?
Tôi đã thấy điều này được xử lý thông qua kiểm soát phiên bản với phân nhánh thích hợp, công cụ tích hợp liên tục và xây dựng tập lệnh. Bạn hiện đang sử dụng cái gì để xây dựng hệ thống của mình? –
@ThomasOwens: Đã trả lời khi chỉnh sửa câu hỏi. –
Cảm ơn. Hãy để tôi suy nghĩ về điều này một chút. Tôi sẽ cố gắng trả lời khi tôi có câu trả lời và một vài chu kỳ rảnh rỗi. –