2012-02-27 30 views
35

Tôi có thể thiếu một điều gì đó cực kỳ hiển nhiên, nhưng tôi cần một số làm rõ bất kể. Tôi sắp bắt đầu phát triển bằng cách sử dụng maven và archiva. Tôi đã thêm cả hai máy chủ + cài đặt vào settings.xml, và distributionManagement thẻ cho POM maven mà tôi muốn triển khai.Cách phân biệt giữa triển khai bản phát hành và ảnh chụp nhanh

Tôi đặt tham chiếu đến cả repo chụp nhanh nội bộ và repo phát hành nội bộ của tôi trong POM. là có một lệnh hoặc tùy chọn maven cụ thể, mà chỉ định để triển khai như là một SNAPSHOT, và không cho cả hai repos? Hoặc nếu tôi triển khai, nó sẽ tự động đẩy một bản sao cho mỗi repo?

Ai đó có thể làm rõ điều này? '

Trả lời

57

Nếu bạn project.version chứa SNAPSHOT (f.e., 1.2-SNAPSHOT) và bạn thực hiện mvn deploy, hiện vật sẽ được triển khai tới kho lưu trữ ảnh chụp của bạn. Nếu không (f.e., 1.2) - chúng sẽ được triển khai tới kho lưu trữ phát hành của bạn.

+0

Vì vậy, để thực hiện "bản phát hành", tôi tự xác định số chính/số nhỏ ...? Hay tôi chỉ cần loại bỏ -SNAPSHOT khỏi dòng đó? Maven không cập nhật chúng mỗi khi bạn làm maven: release hay gì đó? –

+0

Bạn có thể thực hiện thủ công hoặc sử dụng [maven-release-plugin] (http://maven.apache.org/plugins/maven-release-plugin/). –

+2

Tôi đánh giá cao trình tạo maven-release vì nó cũng sẽ tạo thẻ cho bạn và làm tất cả các công cụ lặp đi lặp lại tẻ nhạt – tom

0

Bạn có thể thực hiện mvn deploy.

Nếu phiên bản POM của bạn chứa SNAPSHOT làm hậu tố, nó sẽ triển khai vào kho được định cấu hình theo distributionManagement.snapshotRepository.

Nếu POM của bạn không chứa SNAPSHOT hậu tố, nó sẽ triển khai vào kho được định cấu hình theo distributionManagement.repository.

Tuy nhiên, tôi khuyên bạn nên sử dụng maven-release-plugin để quản lý phiên bản và triển khai. Bằng cách chạy mvn -B release:clean release:prepare release:perform, trong sơ yếu lý lịch:

  • hậu tố SNAPSHOT được lấy từ phiên bản (ví dụ 2.1-SNAPSHOT ->2.1);
  • ứng dụng được tạo để tạo tệp JAR;
  • mã được cam kết với kho lưu trữ mã của bạn (ví dụ: git) và được gắn thẻ (ví dụ: 2.1);
  • JAR được triển khai vào kho lưu trữ phát hành của bạn (không phải repo ảnh chụp nhanh);
  • phiên bản được tăng lên và hậu tố SNAPSHOT được thêm vào (ví dụ: 2.2-SNAPSHOT).
Các vấn đề liên quan