Tôi hiện đang làm việc về tự động hóa/cải thiện quá trình phát hành để đóng gói toàn bộ sản phẩm của cửa hàng của tôi. Hiện tại sản phẩm là sự kết hợp của:Thực tiễn tốt nhất cho thông tin phiên bản?
- Java server-side codebase cấu hình và hồ sơ
- XML
- Shell và hàng loạt các kịch bản cho các quản trị viên
- tĩnh phân phát các trang HTML
- và một số công cụ khác , nhưng đa số là
Tất cả hoặc hầu hết trong số đó có thông tin phiên bản khác nhau chứa trong đó, chúng tôi ed cho các mục đích khác nhau. Một phần của quá trình đóng gói phát hành liên quan đến việc thực hiện rất nhiều tìm kiếm, grep'ing và sed'ing (trong kịch bản) để cập nhật thông tin. Loại keo này đóng gói sản phẩm dường như đã được trộn với nhau theo cách hữu cơ, đúng lúc và khá khủng khiếp để duy trì. Ví dụ, một số phương thức Java tạo các đối tượng Date cho thời gian phát hành, các đối số được cập nhật bởi một thay thế văn bản, mà không cần xác nhận trình biên dịch ... chỉ cần, urgh.
Tôi đang cố gắng tránh đưa ra các ví dụ về phần mềm thực tế được sử dụng (ví dụ: CVS, SVN, kiến, v.v.) vì tôi muốn tránh "sử dụng tính năng của xyz để làm điều này" và tập trung nhiều hơn vào thực tiễn chung. Tôi muốn đổ lỗi cho thiết kế kém chất lượng cho vấn đề này, nhưng nếu tôi phải bắt đầu lại, vẫn sử dụng các công nghệ khác nhau, tôi không chắc chắn cách tốt nhất để xử lý vấn đề này, ngoài việc đặt ra các quy ước.
Câu hỏi của tôi là, có bất kỳ thực tiễn hay gợi ý hay nhất nào để duy trì và cập nhật thông tin phiên bản trên các công nghệ, loại tệp, nền tảng và hệ thống kiểm soát phiên bản khác nhau không?