2012-04-19 34 views
7

Tôi quản lý nhiều dự án maven. Hầu hết trong số họ triển khai vào kho lưu trữ maven nội bộ của chúng tôi. Bây giờ tôi muốn bắt đầu phát hành một dự án cho Maven Central. Cho đến bây giờ, tôi đã có một POM cha mẹ đã chỉ định distributionManagement của kho lưu trữ nội bộ của chúng ta. Nó không có ý nghĩa để triển khai thông tin này cho Maven Central.Di chuyển một dự án đến Maven Central

Tôi nên chỉ định quản lý phân phối cho các dự án nội bộ của mình như thế nào? Tôi có nên có một nhóm phụ huynh riêng biệt cho nội bộ dự án không?

Sonatype đề cập đến một cách để triển khai trực tiếp đến kho lưu trữ của chúng, nhưng chúng khuyên bạn nên sử dụng cha mẹ của riêng họ pom (oss-cha mẹ). Nhìn vào các dự án sử dụng mvnrepository.org, tôi không thể tìm thấy bất kỳ dự án nào có cha mẹ là cha mẹ. Hầu hết các dự án có triển khai thủ công các tạo tác của họ cho Sonatype không? Ở đâu và làm thế nào để họ triển khai chúng đầu tiên?

Rất nhiều câu hỏi! Tôi ngạc nhiên trước sự phức tạp của việc này ...

Cập nhật: nó chỉ ra một số dự án mà tôi đã xác định là do sử dụng oss-parent. Nó chỉ ẩn vì nó là cha mẹ của một phụ huynh.

+1

Lần cuối cùng tôi đọc về nó, tôi tin rằng bạn đã phải đặt một vé với họ để đưa lọ của bạn vào Maven Central. Nhưng bạn là chính xác về kho lưu trữ Sonatype OSS, tôi nghĩ rằng bạn cung cấp cho bạn đáp ứng các điều kiện tiên quyết nhất định mà họ cho phép bạn triển khai trực tiếp nó vào kho lưu trữ của họ. Nếu bạn đang đặt một số thư viện trong phạm vi công cộng, nó lý tưởng nhất nên có Apache 2 hoặc giấy phép tương tự. Bạn đã sẵn sàng để mở mã của bạn với thế giới chưa? Nếu bạn đang có, nó cũng có thể có ý nghĩa để lưu trữ mã của bạn tại một số nơi như, Github, SourceForge hoặc Google Code. –

+0

Mã mở cửa cho mọi người. Bây giờ tôi đang cố gắng làm cho các tệp nhị phân có sẵn cho thế giới. – schmmd

Trả lời

9

Khi bạn được tất cả thiết lập, bạn có thể triển khai staged releasesSNAPSHOTs trực tiếp đến kho OSS Sonatype của. Giai đoạn phát hành sau đó có thể là released through Sonatype's Nexus UI.

Để tạo thư mục lưu trữ cho ứng dụng mà bạn có thể triển khai, bạn open a ticket with Sonatype on their JIRA cùng với tham chiếu đến dự án nguồn mở bạn sẽ triển khai. Quá trình này rất trơn tru và Sonatype sẽ giúp bạn nếu bạn không cung cấp tất cả các thông tin cần thiết.

Trong khi trên glace đầu tiên nó không giống như nhiều dự án có oss-cha mẹ như một phụ huynh, họ thường làm gì khi bạn điều hướng lên cây POM. Ví dụ: Google Guava có phụ huynh guava-parent, có phụ huynh oss-parent. Khi dự án của bạn có oss-parent và kho lưu trữ được định cấu hình, bạn có thể dễ dàng triển khai SNAPSHOT và bản phát hành với mvn deploy hoặc mvn release:prepare release:perform.

Có vẻ như áp đảo, nhưng dễ dàng hiểu nếu bạn chỉ cày qua các bước lần đầu tiên.

6

Việc đầu tiên tôi khuyên bạn nên đọc như sau: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide Cha mẹ OSS làm theo ý nghĩa hoàn cảnh đặc biệt khác. Điều đó phụ thuộc vào loại dự án bạn muốn phân phối.

CẬP NHẬT: Liên kết đó đã chết ngay bây giờ. Hãy xem here để được trợ giúp triển khai Sonatype.

CẬP NHẬT: Đối với Maven Trung ương kiểm tra này: http://central.sonatype.org/

+0

Tôi đã đọc tài liệu đó. Chăm sóc để xây dựng khi phụ huynh OSS có ý nghĩa và khi nào thì không?Làm thế nào để các dự án không có một phụ huynh OSS triển khai tới trung tâm maven? Làm thế nào để họ triển khai nội bộ mà không có distributionManagement trong tệp pom.xml của họ? – schmmd

+0

Chỉ đơn giản là tạo vùng phân phốiManagement của riêng mình (http://search.maven.org/#artifactdetails|com.soebes.smpp|smpp|0.3|pom). Bạn không thể triển khai nội bộ mà không có một distributionManagement ... tốt nhất là để có trình quản lý repo nội bộ ... Nếu bạn có một dự án được sử dụng trong nội bộ nhưng sẽ được triển khai để maven trung tâm hơn dự án này cần bằng cách sử dụng một phụ huynh khác nhau nhưng hãy cẩn thận không có gì mà sẽ đi đến maven trung tâm nên phụ thuộc vào những thứ mà không phải ở trung tâm maven. – khmarbaise

+2

Tài liệu bạn đề cập đến đã biến mất một cách kỳ diệu, mà không có bất kỳ người kế nhiệm rõ ràng nào. –

Các vấn đề liên quan