Chúng tôi đang trong quá trình chuyển đổi quy trình xây dựng chính từ kiến thành maven. Chúng tôi sử dụng TeamCity cho máy chủ Continuous Integration (CI) của chúng tôi.Làm cách nào để có thể sử dụng maven trong tình huống tích hợp liên tục để cài đặt các tạo tác phiên bản trong kho lưu trữ?
Chúng tôi muốn sử dụng máy chủ CI để khởi động (hàng đêm) bản dựng có phiên bản chứa số bản dựng, như trong 1.0.0.build #. Các bản dựng này sẽ được cài đặt trong kho lưu trữ maven cục bộ của chúng ta để các dự án khác sử dụng. Vì vậy, máy chủ CI sẽ quản lý các phiên bản, maven sẽ xây dựng dự án và kho lưu trữ maven sẽ làm cho các bản dựng có thể truy cập được vào các dự án khác.
tôi dự định để bắt đầu xây dựng từ máy chủ CI bằng cách sử dụng lệnh sau:
mvn -Dversion=1.0.0.25 install
pom của dự án sẽ có một số phiên bản giả mạo, và cờ -D sẽ ghi đè lên nó, như trong:
<version>0.0.0.0</version>
Vấn đề với phương pháp này là plugin cài đặt maven chỉ sử dụng phiên bản trong tệp pom chứ không sử dụng phiên bản được truyền trên dòng lệnh. Điều này được ghi nhận trong this maven issue.
Vì sự cố này đã tồn tại kể từ tháng 08/2006 và chưa được khắc phục, tôi cho rằng đây không phải là 'cách quạ'. Vì vậy, câu hỏi của tôi là, làm thế nào có thể quạ được sử dụng trong một tình huống tích hợp liên tục để cài đặt các tạo tác phiên bản trong kho lưu trữ?