Tôi có một vật mà nên được xây dựng trong vài nền tảng mục tiêu:Đồng bộ hóa các phiên bản tạo tác trên nền tảng với quá trình maven phát hành
- Linux x86
- Windows x86
- ARM11
Thật không may do để thiếu các crosscompilers, không thể tạo tất cả các phiên bản của artifact trong một lần.
Sử dụng Nói cách khác, mục tiêu là để có một cái gì đó trong kho như thế này
- artifact-1.0.0-linux.zip
- artifact-1.0.0-windows.zip
- vật -1.0.0-arm11.zip
- artifact-1.0.1-linux.zip
- artifact-1.0.1-windows.zip
- artifact-1.0.1-arm11.zip
- ...
Lưu ý rằng các phiên bản được đồng bộ hóa. Làm thế nào để thực hiện điều này?
Vấn đề là quá trình phát hành nâng cấp phiên bản của tệp pom.xml sau mỗi lần xây dựng. Vì vậy, bằng cách xây dựng liên tục trên các nền tảng khác nhau tôi có thể đạt được có
- artifact-1.0.0-linux.zip
- artifact-1.0.1-windows.zip
- artifact-1.0.2-arm11.zip
- artifact-1.0.3-linux.zip
- artifact-1.0.4-windows.zip
- artifact-1.0.5-arm11.zip
- ...
nhưng đây không phải là những gì tôi đang tìm kiếm.
tôi có thể
chạy trên Linux
phát hành mvn: chuẩn bị phát hành: thực hiện -DpushChanges = false
(với pushChanges thiết lập để phát hành sai sẽ không tăng số phiên bản trong SCM)
và sau đó chạy trên Windows
mvn phát hành: chuẩn bị phát hành: thực hiện
(điều này sẽ làm tăng số phiên bản)
Nhưng sau đó trách nhiệm để kích hoạt các quá trình phát hành trên nền tảng khác nhau theo thứ tự thích hợp nằm với tôi. Có cách nào con quạ có thể giúp tôi với điều này không?
Bạn có bất cứ đề xuất nào không?
Cảm ơn
PS. Lưu ý rằng đây không phải là câu hỏi về cách sắp xếp thành các mô-đun. Đó là về cách đồng bộ hóa các quá trình phát hành của một tạo tác duy nhất trên nhiều nền tảng.
Nhưng quan điểm của tôi là khi bạn đang ở trên Linux, bạn không thể tạo một nhị phân cho cửa sổ (do một số ràng buộc toolchain). Vì vậy, quá trình xây dựng khi chạy trên Linux, không thể tạo các tệp nhị phân Windows. Và ngược lại. Vì vậy, bạn không thể tạo tất cả các tệp nhị phân cho tất cả các nền tảng trong một lần. --- Đây không phải là câu hỏi về cách sắp xếp thành các mô-đun. Đó là về cách đồng bộ hóa các quá trình phát hành của một tạo tác duy nhất trên nhiều nền tảng. –
OK, vì vậy tôi sợ rằng Maven không thể giúp bạn làm điều này tự động như bạn muốn, trừ khi bạn muốn (và có một thời gian) để tạo plugin phát hành riêng. Như bạn đã đề cập, bạn có thể làm tất cả những gì mà không cần nhấn mạnh một phiên bản và sau đó bum nó trên toàn cầu vào cuối, nhưng đây là một cái gì đó bạn phải nhớ về. Bạn cũng có thể loại bỏ phiên bản phổ biến (thừa kế từ cha mẹ) và gõ phiên bản theo nghĩa đen tại tất cả các POM của mô-đun. Tuy nhiên, thời gian này, bạn phải kiểm soát quá trình này và đảm bảo rằng tất cả các mô-đun được phát hành với phiên bản và mỗi mô-đun được phát hành một lần. Tôi thực sự không thể thấy 100% cách tự động. –
Tôi luôn luôn thiếu thời gian :) Dù sao, cảm ơn sự giúp đỡ. –